@charset "UTF-8";
/****************************************
健康経営支援サービス HealthCare iris
*****************************************/
body{
  font-family: 'Noto Sans JP', sans-serif;
  color: #383838;
  font-size: 16px;
  min-width: 1000px;
}
body a{
  color: #383838;
}

#wrapper{
  width: 100%;
  text-align: center;
}
#wrapper a{text-decoration: none;}
.image{
  font-size: 0;
  line-height: 0;
}
*, *::before, *::after {
    box-sizing: border-box;
}
.number{
  font-family: 'Oswald', sans-serif;
}
.flex{
  display: flex;
justify-content: center;
flex-wrap: wrap;
}
.breadcrumb{
  padding: 8px 0;
  margin-bottom: 60px;
  border-bottom: 1px solid #AAAAAA;
}
.breadcrumb ol{
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: 14px;
  color: #6B7280;
}
.breadcrumb ol li:not(:last-child)::after {
	content: ">";
	margin: 0.6em;
}
@media screen and (min-width: 768px) {
  br.pcnone{
    display: none;
  }
}
@media screen and (max-width: 768px) {
  br.spnone{
    display: none;
  }
}
.hide{display: none !important;}
@media screen and (max-width: 768px) {
  html{
    font-size: 10px;
  }
  body{
    font-size:1.6rem;
    min-width: auto;
  }
  body .pcVer{display: none !important;}
  .tableSpScroll{
    position: relative;
    overflow-x:scroll;
  }
  .tableSpScroll::after{
    content: "";
    display: block;
    position: absolute;
    background: url("../../image/common/scroll.png") no-repeat;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    width: 20vw;
    height: 20vw;
    left: calc(50% - 10vw);
    top: calc(50% - 10vw);
  }
  .tableSpScroll.scroll::after{
    display: none;
  }
  .tableSpScroll table{
    width: 200% !important;
  }
}
@media screen and (min-width: 769px) {
  body .spVer{display: none !important;}
}
.fadeIn {
  transform: translate3d(0, 20px, 0);
  transition: 0.5s;
  opacity: 0;
}

.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
a.txtLink{
  color: #009FE8;
  text-decoration: underline !important;
}
a.txtLink:hover{
  text-decoration:none !important;
  cursor: pointer;
}

/* .colorBt
----------------------- */
.colorBt{
  margin: 0 auto 0;
  text-align: center;
}
.colorBt a,
.colorBt p{
  display: inline-block;
  -webkit-appearance: none;
  outline: 0;
  color: #fff;
  border: none;
  padding: 0 40px;
  border-radius: 25px;
  height: 50px;
  font-size: 17px;
  min-width: 270px;
  text-align: center;
  font-weight: bold;
  background-color: transparent;
  position: relative;
  text-decoration: none;
  z-index: 2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background:#009FE8;
  transition: 0.2s linear;
  padding-top: 0.7em;
}
.colorBt.pink a{
  background-color: #f742b5;
}
.colorBt p{
  background-color: #ccc;
}
.colorBt a:hover{
  opacity:.6;filter: alpha(opacity=60);-ms-filter: "alpha(opacity=60)";
}
.colorBt a::after,
.colorBt p::after{
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-right:solid 2px #fff;
  border-top:solid 2px #fff;
  position: absolute;
  top: calc(50% - 0.3em - 1px);
  right: 1.8em;
}
@media screen and (max-width: 768px) {
  .colorBt a,
  .colorBt p{
    padding: 0 2em;
    border-radius: 5vw;
    height: 10vw;
    font-size: 3.2vw;
    min-width: 50vw;
    padding-top: 0.8em;
  }
}
/* .contactBt
----------------------- */
.contactBt{
  background-color: #009FE8;
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 360px;
  font-size: 22px;
  line-height: 1.4em;
  border-radius: 1.5em;
  box-shadow: 0px 3px 10px #00000029;
}
.contactBt a{
  text-align: center;
  display: block;
  color: #fff;
  font-weight: bold;
  padding: 0.6em 0 0.8em;
}
.contactBt a::before {
  position: absolute;
  top: 0;
  left: -20%;
  z-index: 1;
  content: '';
  width: 140%;
  height: 140%;
  background-color: #3fc0fb;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .3s;
}
.contactBt a:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}
.contactBt a > span{
  position: relative;
  z-index: 2;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .contactBt{
    width: 56vw;
    font-size: 3.7vw;
  }
}
/* .dot-list
----------------------- */
.dot-list{
  margin-top: 1em;
}
.dot-list li{
  margin-top: 0.5em;
  padding-left: 1em;
  position: relative;
}
.dot-list li::before{
  content: "";
  display: block;
  width: 0.3em;
  height: 0.3em;
  border-radius: 50%;
  background-color: #144A8C;
  position: absolute;
  left: 0.35em;
  top: 0.5em;
}
/* ========================================================
#headerArea
======================================================== */
#headerArea{
  position: fixed;
  left: 0;
  top: 0;
  margin-top: -120px;
  width: 100%;
  background-color: #fff;
  height: 120px;
  z-index: 200;
  min-width: 1000px;
  text-align: left;
}
#headerArea.fixed{
  margin-top: 0 !important;
}
#headerRead{
  font-size: 13px;
  line-height: 1em;
  padding: 10px 0 5px;
  color: #144A8C;
  margin-left: 35px;
}
#headerLogo{
  width: 247px;
  margin-left: 35px;
  padding-top: 10px;
}
#headerLogo a{
  display: inline-block;
}
#headerLogo img{
  width: 100%;
  height: auto;
  padding-top: 10px;
}
.spMenuBt{
  display: none;
}
/* #headerPhone
----------------------- */
#headerPhone{
	position: absolute;
	color: #144A8C;
	letter-spacing: 0.04em;
	right: 220px;
	top: 50%;
  -webkit-transform: translate(0, -50%);
     -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
#headerArea.form #headerPhone{display: none;}
#headerPhone dt{
	font-size: 13px;
	line-height: 1em;
	margin-bottom: 10px;
  padding-top: 2px;
}
#headerPhone dd{
	display: inline-block;
	padding-left: 25px;
	background:url("../../image/common/ic_phone.png") left center no-repeat;
	-moz-background-size: 22px auto;
  background-size: 22px auto;
	font-size: 21px;
  height: 21px;
  line-height: 21px;
	font-weight: bold;
	margin-right: 35px;
}
#headerPhone dd:last-child{margin-right: 0;}
#headerPhone dd a{color: #144A8C;display: inline-block;}
#headerPhone dd span{
	display: inline-block;
	font-size: 12px;
	font-weight: normal;
	margin-left: 0.5em;
	vertical-align: bottom;
}
/* #headerContact
----------------------- */
#headerContact{
  display: table;
  width: 300px;
  height: 70px;
  text-align: center;
  position: absolute;
  right: 50px;
  top: 25px;
  transition-property: height;
  transition: 0.1s linear;
}
#headerArea.form #headerContact{display: none;}
#headerContact a{
  border-radius: 8px;
  display: table-cell;
  height: 60px;
  vertical-align: middle;
  text-align: left;
  padding-left: 25px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.5em;
  background-color: #4DA3FF;
}
#headerContact a::before {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 50px;
    border-right: 1px solid;
    top: 0;
    bottom: 0;
    margin: auto;
    right:19%;
}
#headerContact a::after {
    content: '▼';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    transform: rotate(270deg);
    top: 0;
    bottom: 0;
    margin: auto;
    right: 7%;
}
#headerContact a:hover{
	background-color: #fff;
  color: #4DA3FF;
  border: solid 1px #4DA3FF;
}
#gnavi li a{
  padding: 0px 6px 6px 2px;
}
#gnavi li a:hover{
  border-bottom: 2px solid #99A8C9;
}
#headerArea .contactBt{display: none;}
@media screen and (min-width: 769px) {
  /*  #gnaviArea
  ----------------------- */
  #gnavi{
    display: inline-block;
    position: absolute;
    top: 50px;
    right: 380px;
  }
  #gnavi li{
    display: inline-block;
    vertical-align: top;
    margin-left: 30px;
  }
}
@media screen and (max-width: 1700px) {
  #headerContact{
    width: 300px;
  }
  #headerPhone{
    right: 200px;
  }
  #gnavi{
    right: 380px;
  }
}
@media screen and (max-width: 1520px) {
  #headerPhone dt{
    display: none;
  }
  #headerPhone dd{
    display: block;
    margin: 0;
    margin-top: 0.2em;
  }
  #headerPhone dd + dd{
    margin-top: 0.5em;
  }
  #gnavi{
    right: 420px;
  }
}
@media screen and (max-width: 1280px) {
  #headerContact {
    width: 300px;
  }
  #headerPhone {
    right: 180px;
  }
  #gnavi li a{
    font-size: 16px;
  }
  #gnavi{
    right: 400px;
  }
}
@media screen and (max-width: 1100px) {

  #headerPhone {
    right: 130px;
  }
  #headerPhone dd{
    font-size: 18px;
  }
  #gnavi{
    right: 230px;
  }
}
@media screen and (max-width: 768px) {
  #headerArea{
    height: 72px;
    min-width: 100%;
  }
  #headerArea::before{
    height: 4px;
  }
  #headerRead{display: none;}
  #headerLogo{
    width: 150px;
    position: relative;
    z-index: 200;
    padding-top: 0;
  }
  /*  .spMenuBt
  ----------------------- */
  .spMenuBt{
    display: block;
    position: absolute;
    right: 10vw;
    z-index: 500;
    top: 50%;
    transform: translateY(-50%);
  }
   .spMenuBt .menuTrigger,
   .spMenuBt .menuTrigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
   .spMenuBt .menuTrigger {
     position: relative;
     width: 40px;
     height: 30px;
     text-decoration: none;
     text-align: left;
     background: #325092;
     border-radius: 4px;
  }
  .spMenuBt .menuTrigger span {
    position: absolute;
    right: 10px;
    width: 20px;
    height: 2px;
    border-radius: 1px;
    background-color: #fff;
  }
  .spMenuBt.active .menuTrigger{
    background: none;
  }
  .spMenuBt.active .menuTrigger span {background-color: #325092;}
   .spMenuBt .menuTrigger span:nth-of-type(1) { top: 8px;}
   .spMenuBt .menuTrigger span:nth-of-type(2) { top: 14px;}
   .spMenuBt .menuTrigger span:nth-of-type(3) { top: 20px;}
   .spMenuBt.active .menuTrigger span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
  }
   .spMenuBt.active .menuTrigger span:nth-of-type(2) {
    opacity: 0;
  }
   .spMenuBt.active .menuTrigger span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
    top: 24px;
  }
  /*  #gnaviArea
  ----------------------- */
  #gnaviArea{
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    padding: 0 5.33vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #0C1D35;
    z-index: 200;
    display: none;
    height: 100vh;
    overflow-y: scroll;
  }
  #gnaviArea::-webkit-scrollbar{
    display:none;
  }
  #gnaviInner{
    border-radius: 16px;
    text-align: center;
    width: 100%;
    background: #fff;
    margin: 10px 0;
    padding-bottom: 10vw;
    position: relative;
  }
  #gnaviInner .menu_logo{
    position: absolute;
    top: 6vw;
    left: 10vw;
  }
  #gnavi {
    display: block;
    padding: 13.33vw 3vw 9vw;
    border-bottom: solid 1px #fff;
  }
  #gnavi > li{
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.6em;
    margin-top: 3vw;
    padding-top: 3vw;
    padding-left: 3vw;
    border-top: 1px solid #AAAAAA;
  }
  #gnavi li:last-child{
    border-bottom: 1px solid #AAAAAA;
    padding-bottom: 5vw;
  }
  #headerPhone{
    padding-top: 7vw;
    color: #fff;
    position: static;
    width: 100%;
    transform:none;
  }
  #headerPhone dt{
    line-height: 1em;
  }
  #headerPhone dd{
    background: none;
    margin: 3.5vw 0 0;
    padding: 0;
    height: auto;
  }
  #headerPhone dd a{
    display: inline-block;
    border: solid 1px #fff;
    color: #fff;
    border-radius: 2vw;
    background: url("../../image/common/icon_phone.png") 3.33vw center no-repeat;
    -moz-background-size: 5.33vw auto;
    background-size: 5.33vw auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding:3.33vw 5vw 3.33vw 13.33vw;
    margin: 0 !important;
    font-size: 4.8vw;
  }
  #headerPhone dd:nth-of-type(1) a{
    margin-top: 7vw;
  }
  #headerPhone dd span{
    font-size: 2.9vw;
    line-height: 1em;
    display: inline-block;
    margin-right: 0.2em;
    font-weight: normal;
  }
  #headerContact{
    position: relative;
    margin: 0 auto;
    right: 0;
    top: 0;
    width: 80vw;
  }
  #headerContact a{
    padding: 1em 0 1.2em;
  border-radius: 8px;
  width: 56vw;
  height: 6.33vw;
  padding-left: 9vw;
  }
}

#dhRead{
  font-size: 13px;
  line-height: 1em;
  color: #144A8C;
  position: absolute;
  left: 35px;
  top: 16px;
}
#dhLogo{
  width: 138px;
  position: absolute;
  left: 35px;
  top: 32px;
}
#dhLogo a{
  display: inline-block;
}
#dhLogo img{
  width: 100%;
  height: auto;
}
@media screen and (min-width: 769px) {
  /*  #dhGnavi
  ----------------------- */
  #dhGnavi{
    display: inline-block;
    position: absolute;
    top: 6px;
    left: 300px;
  }
  #dhGnavi li{
    display: inline-block;
  }
  #dhGnavi li a{
    display: inline-block;
    position: relative;
    font-size: 15px;
    line-height: 1em;
    line-height: 74px;
    color: #211C17;
    padding: 0 25px;
  }
  #dhGnavi li a::after{
    content: "";
    display: block;
    background-color: #144A8C;
    height: 2px;
    width: 0;
    transition-property: opacity,width,left;
    transition: 0.2s linear;
    left: 50%;
    bottom: 20%;
    position: absolute;
    opacity:0;filter: alpha(opacity=0);-ms-filter: "alpha(opacity=0)";
  }
  #dhGnavi li a:hover::after{
    width: calc(100% - 50px);
    left: 25px;
    opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";
  }
}

/* .contentWrapper
----------------------- */
.contentWrapper{
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 1700px;
}
.contentWrapper h2{
  font-size: 40px;
  color: #211C17;
}
@media screen and (max-width: 768px) {
  .contentWrapper{
    max-width: 100%;
  }
  .contentWrapper h2{
    font-size: 6.4vw;
  }
}
/* .captionList
----------------------- */
.captionList{
  margin-top: 4em;
}
.captionList li{
  margin-top: 0.5em;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 92%;
  text-align: left;
  word-break:break-all;
}
.captionList li > *{
  text-indent:0;
}
.captionList li sup{
  display: inline-block;
  width: 1em;
}
#wrapper .captionList li a{
  color: #144A8C;
  text-decoration: underline;
}
/* .checkList
----------------------- */
.checkList li{
  margin-top: 10px;
  padding-left: 40px;
  position: relative;
  font-size: 18px;
  text-align: left;
  font-weight: bold;
}
.checkList li::before{
  content: "";
  width: 0.9em;
  height: 0.6em;
  border-left: solid 3px #94BF0B;
  border-bottom: solid 3px #94BF0B;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  left: 0.2em;
  top: 0.2em;
}
@media screen and (max-width: 768px) {
  .checkList li{
    margin-top: 2vw;
    padding-left: 4.6vw;
    font-size: 3.4vw;
  }
  .checkList li::before{
    width: 0.7em;
    height: 0.4em;
    border-left: solid 0.5vw #94BF0B;
    border-bottom: solid 0.5vw #94BF0B;
  }
}
/* ========================================================
#movieArea
======================================================== */
#movieArea{
  padding-bottom:120px;
  background-color: #F6FBFF;
}
#movieBox{
  max-width: 100%;
  width: 800px;
  margin: 0 auto;
}
#movieBoxInner{
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
#movieBoxInner iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  #movieArea{
    padding: 0 4.6vw 12vw;
  }
}
/* ========================================================
#problemArea
======================================================== */
#problemArea{
  background-color: #F6FBFF;
}
#problemIllust{
  position: absolute;
  top: 80px;
  right: 90px;
}
#problemArea .contentWrapper{
  padding: 120px 0 145px;
  background: url("../../image/top/problem_image.png") center top no-repeat;
  color: #000000;
}
#problemArea .contentWrapper::after{
  content: "";
  width: 0;
  height: 0;
  border: solid 200px transparent;
  border-top: solid 70px #f6fbff;
  position: absolute;
  left: calc(50% - 200px);
  bottom: -270px;
}
#problemArea .contentWrapper h3{
  font-size: 30px;
  line-height: 1.6em;
  margin-top: 80px;
  display: inline-block;
  position: relative;
}
#problemArea .contentWrapper h3::before{
  content: "「クラウド型健康管理サービス」";
  font-size: 14px;
  line-height: 1em;
  display: inline-block;
  letter-spacing: 0.2em;
  position: absolute;
  top: -10px;
  left: -50px;
}
#problemArea .contentWrapper h3 span{
  display: inline-block;
  background: linear-gradient(rgba(255, 255, 255, 0) 10%, #ffdf00 11%, #ffdf00 90%,rgba(255, 255, 255, 0) 91%);
}
#problemArea .contentWrapper h3 + p{
  font-size: 22px;
  line-height: 1.8em;
  font-weight: bold;
  margin-top: 460px;
}
#problemArea .contentWrapper h3 + p span{
  display: inline-block;
  background: linear-gradient(rgba(255, 255, 255, 0) 70%, #ffdf00 71%, #ffdf00 86%,rgba(255, 255, 255, 0) 87%);
}
#problemArea .contentWrapper ul{
  margin-top: 70px;
}
#problemArea .contentWrapper ul li{
  display: inline-block;
  margin: 0 25px;
}
#problemArea .contentWrapper ul li a{
  display: block;
  background-color: #144A8C;
  box-shadow: 0px 3px 10px #00000029;
  border-radius: 25px;
  line-height: 50px;
  font-size: 22px;
  color: #fff;
  width: 290px;
  overflow: hidden;
  position: relative;
  letter-spacing: 0.1em;
}
#problemArea .contentWrapper ul li a::before {
  position: absolute;
  top: 0;
  left: -20%;
  z-index: 1;
  content: '';
  width: 140%;
  height: 140%;
  background-color: #2f69af;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .3s;
}
#problemArea .contentWrapper ul li a:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}
#problemArea .contentWrapper ul li a > span{
  position: relative;
  z-index: 2;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #problemIllust{display: none;}
  #problemArea .contentWrapper{
    padding: 21.3vw 0 13.3vw;
    background: url("../../image/top/problem_image_sp.png") center 8vw no-repeat;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
  }
  #problemArea .contentWrapper::after{
    border: solid 24vw transparent;
    border-top: solid 8.5vw #f6fbff;
    left: calc(50% - 24vw);
    bottom: -32.5vw;
  }
  #problemArea .contentWrapper h3{
    font-size: 4.8vw;
    margin-top: 15.3vw;
  }
  #problemArea .contentWrapper h3::before{
    margin-right: -30vw;
    font-size: 5.3vw;
    transform: scale(0.5);
    -webkit-transform: scale(0.5);
    transform-origin: 0% 50%;
    -webkit-transform-origin: 0% 50%;
    top: -4vw;
    left: -4vw;
  }
  #problemArea .contentWrapper h3 + p{
    font-size: 3.73vw;
    margin-top: 80vw;
  }
  #problemArea .contentWrapper ul{
    margin-top: 6vw;
  }
  #problemArea .contentWrapper ul li{
    margin: 0 4vw;
  }
  #problemArea .contentWrapper ul li a{
    border-radius: 4vw;
    line-height: 8vw;
    font-size: 3.4vw;
    width: auto;
    padding: 0 8vw;
  }
}
/* ========================================================
#supportArea
======================================================== */
#supportArea{
  padding: 120px 0 130px;
  background-color: #fff;
}
#supportArea h2{
  font-size: 30px;
  color: #211C17;
}
#supportArea h2 span{
  display: inline-block;
  background: linear-gradient(rgba(255, 255, 255, 0) 10%, #ffdf00 11%, #ffdf00 90%,rgba(255, 255, 255, 0) 91%);
}
/* #supportList
----------------------- */
#supportList{
  width: 1100px;
  margin: 0 auto 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
}
#supportList .slick-list{
  width: 100%;
  padding: 105px 0 10px;
}
#supportList .supportListNote{
  width: 350px !important;
  box-shadow: 0px 0px 10px #00000029;
  border-radius: 20px;
  background-color: #fff;
  font-weight: bold;
  text-align: center;
  padding-bottom: 30px;
}
#supportList .supportListNote .image{
  margin: -50px auto 0;
}
#supportList .supportListNote .image img{margin: 0 auto;}
#supportList .supportListNote h3{
  font-size: 26px;
  color: #144A8C;
  margin-top: 20px;
}
#supportList .supportListNote .checkList{
  display: inline-block;
  margin: 30px auto 0;
  text-align: left;
}
/* .supportContent
----------------------- */
.supportContent{
  display: table;
  width: 1100px;
  margin: 65px auto 0;
}
#wrapper .supportContent a{
  text-decoration: underline;
}
.supportContent .text{
  display: table-cell;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  padding-left: 60px;
}
.supportContent .text h3{
  font-size: 22px;
  line-height: 1.6em;
  color: #211C17;
}
.supportContent .text h3 span{
  background: linear-gradient(rgba(255, 255, 255, 0) 70%, #ffdf00 71%, #ffdf00 86%,rgba(255, 255, 255, 0) 87%);
  display: inline-block;
}
.supportContent .text p{
  margin-top: 60px;
}
.supportContent .text p.link a::after{
  content: "";
  display: inline-block;
  margin-left: 1em;
  background: url("../../image/common/icon_blank.png") center center no-repeat;
  width: 1.5em;
  height: 1em;
}
.supportContent .image{
  display: table-cell;
  vertical-align: middle;
  width: 350px;
}
.supportContent .image p{
  font-size: 18px;
  line-height: 1.4em;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  #supportArea{
    padding: 12vw 0 18.6vw;
  }
  #supportArea h2{
    font-size: 5vw;
  }
  /* #supportList
  ----------------------- */
  #supportList{
    width: 100%;
    margin: 0 auto 0;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -ms-flex-pack:distribute;
      justify-content:space-between;
      flex-wrap: wrap;
  }
  #supportList .slick-list{
    width: 100%;
    padding: 14.4vw 16% 10px !important;
  }
  #supportList .supportListNote{
    width: 60vw !important;
    border-radius: 2.6vw;
    padding-bottom: 8vw;
  }
  #supportList .supportListNote .image{
    margin: -8.6vw auto 0;
    width: 17.2vw;
  }
  #supportList .supportListNote .image img{width: 100%;height: auto;}
  #supportList .supportListNote h3{
    font-size: 5vw;
    color: #144A8C;
    margin-top: 4.2vw;
  }
  #supportList .supportListNote .checkList{
    margin: 2vw auto 0;
  }
  #supportList .slick-dots{
    width: 100%;
    font-size: 0;
    line-height: 0;
    padding: 8.6vw 0 1vw;
  }
  #supportList .slick-dots li{
    display: inline-block;
    margin: 0 1vw;
  }
  #supportList .slick-dots li button{
    width: 2vw;
    height: 2vw;
    background-color: #c4dd73;
    border: none;
    padding: 0;
    font-size: 0;
    line-height: 0;
    border-radius: 1vw;
  }
  #supportList .slick-dots li.slick-active button{
    background-color: #9cc715;
  }
  #supportList button:focus {
    outline: 0;
  }
  #supportList .slick-arrow{
    position: absolute;
    width: 4.8vw;
    height: 4.3vw;
    font-size: 0;
    line-height: 0;
    border: none;
    bottom: 0;
  }
  #supportList .slick-arrow.slick-prev{
    background: url("../../image/common/arrow_prev.png") no-repeat;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    left: 34vw;
  }
  #supportList .slick-arrow.slick-next{
    background: url("../../image/common/arrow_next.png") no-repeat;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    right: 34vw;
  }
  #supportList .slick-arrow.slick-disabled{
    opacity:0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
  }
  /* .supportContent
  ----------------------- */
  .supportContent{
    display: block;
    width: 100%;
    margin: 12vw auto 0;
  }
  .supportContent .text{
    display: block;
    text-align: center;
    padding-left: 0;
  }
  .supportContent .text h3{
    font-size: 4.8vw;
  }
  .supportContent .text p{
    margin-top: 5vw;
    font-size: 3.2vw;
  }
  .supportContent .image{
    display: block;
    width: 100%;
    margin-top: 10vw;
  }
  .supportContent .image img{
    width: 48vw;
    height: auto;
  }
  .supportContent .image p{
    font-size: 4.6vw;
    margin-top: 5vw;
  }
}
/* ========================================================
#reasonArea
======================================================== */
#reasonArea{
  padding: 130px 0 180px;
  background-color: #E7F4FE;
}
#reasonIllust{
  position: absolute;
  top: -30px;
  left: 80px;
}
/* #reasonList
----------------------- */
#reasonList{
  width: 1100px;
  margin: 240px auto 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
}
#reasonList li{
  width: 350px;
  box-shadow: 0px 0px 10px #00000029;
  border-radius: 20px;
  background-color: #fff;
  font-weight: bold;
  text-align: left;
  padding-bottom: 40px;
}
#reasonList li h3{
  color: #fff;
  display: table;
  width: 260px;
  height: 260px;
  margin: -130px auto 0;
  background-color: #144a8c;
  border-radius: 50%;
  text-align: center;
}
#reasonList li h3 span{
  display: table-cell;
  vertical-align: middle;
  font-size: 26px;
  line-height: 1.8em;
}
#reasonList li .image{
  height: 145px;
  position: relative;
}
#reasonList li .image img{
  position: absolute;
  right: 0;
  bottom: 0;
}
#reasonList li h4{
  margin: 30px 30px 0;
  color: #000000;
  font-size: 22px;
  line-height: 1.8em;
}
#reasonList li h4 span{
  display: inline-block;
  background: linear-gradient(rgba(255, 255, 255, 0) 10%, #ffdf00 11%, #ffdf00 90%,rgba(255, 255, 255, 0) 91%);
}
#reasonList li p{
  margin: 30px 25px 0;
  line-height: 2.2em;
}
@media screen and (max-width: 768px) {
  #reasonArea{
    padding: 22.66vw 0 21.33vw;
  }
  #reasonIllust{
    top: -30.66vw;
    left: 2.6vw;
    width: 24vw;
  }
  #reasonIllust img{width: 100%;height: auto;}
  /* #reasonList
  ----------------------- */
  #reasonList{
    width: 100%;
    margin: 8.33vw auto 0;
  }
  #reasonList li{
    width: 92vw;
    border-radius: 2.6vw;
    padding-bottom: 40px;
    margin: 26.66vw auto 0;
  }
  #reasonList li h3{
    display: table;
    width: 45.4vw;
    height: 45.4vw;
    margin: -22.7vw auto 0;
  }
  #reasonList li h3 span{
    font-size: 4.8vw;
  }
  #reasonList li .image{
    height: 8.6vw;
  }
  #reasonList li:nth-of-type(2) .image,
  #reasonList li:nth-of-type(3) .image{
    height: 10.6vw;
  }
  #reasonList li .image img{
    width: 100%;
    height: auto;
  }
  #reasonList li:nth-of-type(3) .image img{
    bottom: -3.3vw;
  }
  #reasonList li h4{
    margin: 5.3vw 0 0;
    font-size: 4.8vw;
    line-height: 1.8em;
    text-align: center;
  }
  #reasonList li p{
    margin: 4.6vw 6.6vw 0;
    font-size: 3.4vw;
    line-height: 2.2em;
  }
}
/* ========================================================
#solutionArea
======================================================== */
#solutionArea{
  padding: 130px 0 180px;
  background-color: #F6FBFF;
}
#solutionIllust{
  position: absolute;
  top: -80px;
  right: 90px;
}
/* #solutionList
----------------------- */
#solutionList {
  display: block;
  width: 1100px;
  margin: 120px auto 0;
}
#solutionList li{
  box-shadow: 0px 0px 10px #00000029;
  border-radius: 20px;
  background-color: #fff;
  font-weight: bold;
  display: table;
  width: 100%;
  text-align: left;
  margin-top: 80px;
}
#solutionList li h3{
  display: table-cell;
  vertical-align: middle;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 510px;
  background-color: #144A8C;
  color: #fff;
  font-size: 22px;
  line-height: 1.8em;
  border-radius: 20px 0 0 20px;
  padding: 60px 40px 60px 60px;
}
#solutionList li p{
  display: table-cell;
  vertical-align: middle;
  position: relative;
  letter-spacing: 0.05em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size:16px;
  line-height: 2.3em;
  border-radius: 0 20px 20px 0;
  padding: 60px 20px 60px 80px;
}
#solutionList li h3::before,
#solutionList li p::before{
  display: block;
  letter-spacing: 0.2em;
  width: 120px;
  height: 40px;
  text-align: center;
  font-size: 20px;
  position: absolute;
  top: -10px;
}
#solutionList li h3::before{
  content: "課題";
  background: url("../../image/top/solution_tag_1.png") no-repeat;
  left: 30px;
  color: #211C17;
}
#solutionList li p::before{
  content: "解決";
  background: url("../../image/top/solution_tag_2.png") no-repeat;
  left: 40px;
  color: #fff;
}
#solutionList li h3::after{
  content: "";
  width: 0;
  height: 0;
  border: solid 60px transparent;
  border-left: solid 25px #144A8C;
  position: absolute;
  right: -85px;
  top: calc(50% - 60px);
}
@media screen and (max-width: 768px) {
  #solutionArea{
    padding: 20vw 0;
  }
  #solutionIllust{
    top: -29.33vw;
    right: 4vw;
    width: 21.33vw;
  }
  #solutionIllust img{
    width: 100%;
    height: auto;
  }
  /* #solutionList
  ----------------------- */
  #solutionList {
    width: calc(100% - 6.4vw);
    margin: 2vw 3.2vw 0;
  }
  #solutionList li{
    border-radius: 2.6vw;
    display: block;
    text-align: left;
    margin-top: 13.33vw;
  }
  #solutionList li h3{
    display: block;
    width: 100%;
    font-size: 4.5vw;
    line-height: 1.8em;
    letter-spacing: 0.1em;
    border-radius: 2.6vw 2.6vw 0 0;
    padding: 8vw 0 5.3vw;
    text-align: center;
  }
  #solutionList li p{
    display: block;
    width: 100%;
    font-size:3.4vw;
    font-weight: normal;
    border-radius: 0 0 2.6vw 2.6vw;
    padding: 14.66vw 6.6vw 6.6vw;
  }
  #solutionList li h3::before,
  #solutionList li p::before{
    width: 24vw;
    height: 8vw;
    font-size: 4.2vw;
    left: 2.6vw;
  }
  #solutionList li h3::before{
    background: url("../../image/top/solution_tag_1.png") no-repeat;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    top: -2vw;
  }
  #solutionList li p::before{
    background: url("../../image/top/solution_tag_2.png") no-repeat;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    top: 4vw;
  }
  #solutionList li h3::after{
    border: solid 14.66vw transparent;
    border-top: solid 5.33vw #144A8C;
    position: absolute;
    right: calc(50% - 14.66vw);
    bottom: -19.5vw;
    top: auto;
  }
}
/* ========================================================
#relationArea
======================================================== */
#relationArea{
  background-color: #F6FBFF;
  padding: 130px 0 90px;
}
#relationIllust{
  position: absolute;
  top: 0;
  left: 0;
}
#relationInner{
  width: 1100px;
  margin: 0 auto;
}
#relationArea h2 + p{
  font-size: 18px;
  line-height: 40px;
  margin-top: 70px;
}
/* #relationList
----------------------- */
#relationList{
  margin: 40px 0 0;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
}
#relationList li{
  display: inline-block;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 20px;
  box-shadow: 0px 0px 10px #00000029;
  margin: 25px 12px 0;
  padding-top: 20px;
  width: 350px;
  height: 200px;
  letter-spacing: 0.1em;
}
#relationList li p{
  display: table;
  width: 100%;
  height: 80px;
}
#relationList li p span{
  display: table-cell;
  vertical-align: middle;
  font-weight: bold;
  color: #000000;
  font-size: 22px;
  line-height: 40px;
}
#relationList li .image{
  display: table;
  width: 100%;
  height: 90px;
  margin-top: -5px;
}
#relationList li .image div{
  display: table-cell;
  vertical-align: middle;
}
#relationList li .image div.unit{
  display: table;
  height: 90px;
  width: 80%;
  margin: 0 10%;
}
#relationList li .image div.column{
  display: table;
  height: 45px;
  width: 80%;
  margin: 0 10%;
}
#relationList li .image div.column img{
  max-width: 100%;
  height: auto;
}
#relationList li .image div a{
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px;
  opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";
  transition-property: opacity,filter;
  transition: 0.2s linear;
}
#relationList li .image div a:hover{
  opacity:.6;filter: alpha(opacity=60);-ms-filter: "alpha(opacity=60)";
}
#relationList li .image div.unit a,
#relationList li .image div.column a{
  display: table-cell;
  vertical-align: middle;
}
/* #relationCaption
----------------------- */
#relationCaption{
  font-size: 12px;
  margin-top: 90px;
  color: #211C17;
  letter-spacing: 0.2em;
  font-weight: bold;
  text-align: right;
}
@media screen and (max-width: 768px) {
  #relationArea{
    padding: 20vw 0 3vw;
  }
  #relationIllust{
    display: none;
  }
  #relationInner{
    width: calc(100% - 5.2vw);
    margin: 0 2.6vw;
  }
  #relationArea h2 + p{
    font-size: 3.2vw;
    line-height: 1.6em;
    margin-top: 8vw;
  }
  /* #relationList
  ----------------------- */
  #relationList{
    margin: 4vw 0 0;
  }
  #relationList li{
    border-radius: 2.6vw;
    margin: 4vw 2vw 0;
    padding-top: 5.3vw;
    width: calc(50% - 4vw);
    height: 37.33vw;
  }
  #relationList li p{
    height: 13vw;
  }
  #relationList li p span{
    font-size: 3.7vw;
    line-height: 1.6em;
  }
  #relationList li .image{
    display: table;
    width: 100%;
    margin-top: -1vw;
  }
  #relationList li .image div img{
    max-width: 90%;
    height: auto;
  }
  #relationList li .image{
    height: 20vw;
  }
  #relationList li .image div.column{
    height: 10vw;
  }
  #relationList li .image div.column.spMin{
    height: 5vw;
  }
  /* #relationCaption
  ----------------------- */
  #relationCaption{
    font-size: 2.66vw;
    margin-top: 10vw;
  }
}
/* ========================================================
#contactArea
======================================================== */
#contactArea{
  background: url("../../image/top/contact_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 90px 0;
}
#contactInner{
  width: 800px;
  background-color: #fff;
  margin: 0 auto;
  padding: 50px 0 35px;
  border-radius: 20px;
}
#contactInner p{
  font-size: 22px;
  font-weight: bold;
  color: #211C17;
  transform: scale(0.75 1.25);
  -webkit-transform: scale(0.75 1.25);
  transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
}
#contactInner .contactBt{
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  #contactArea{
    background: url("../../image/top/contact_bg.jpg") center left no-repeat;
    background-size: cover;
    padding: 17.33vw 10vw;
  }
  #contactInner{
    width: 100%;
    padding: 7vw 0;
  }
  #contactInner p{
    font-size: 4vw;
  }
  #contactInner .contactBt{
    margin-top: 5vw;
  }
}
/* ========================================================
#formArea
======================================================== */
#formArea{
  margin-top: 20px;
  background-color: #fff;
  padding: 80px 0 60px;
}
#formHeader{
  text-align: center;
  margin-bottom: 35px;
}
#formHeader h2{
  font-size: 40px;
  margin-bottom: 60px;
  color: #211C17;
}
#formHeader h2 p{
  font-size: 16px;
}
#formInner{
  text-align: center;
  background-color: #fff;
  border-radius: 30px;
  padding: 0 0 40px;
  width: 900px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #BFBFBF;
  overflow: hidden;
}
#formInner h2{
  font-size: 38px;
}
#formInner h2 + p{
  margin-top: 30px;
}
#formInner .hbspt-form{
  margin: 3em;
}
#formArea .topBtn a{
  border-radius: 8px;
  height: 70px;
  width: 300px;
  text-align: left;
  padding-left: 45px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.5em;
  border: solid 1px #1F2F4A;
  color: #1F2F4A;
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 80px auto 0;
  position: relative;
}
#formArea .topBtn a::after{
  content: '▼';
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  transform: rotate(270deg);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 7%;
}
#formArea .topBtn a::before{
  content: '';
  display: block;
  position: absolute;
  width: 1px;
  height: 50px;
  border-right: 1px solid;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 19%;
}
#formArea .topBtn a:hover{
  background: #1F2F4A;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #formArea{
    margin-top: 0;
    padding:21.3vw 2.6vw 2.6vw;
  }
  #formHeader{
    margin-bottom: 6vw;
  }
  #formHeader h2{
    font-size: 6.4vw;
    margin-bottom: 8vw;
    color: #211C17;
  }
  #formHeader h2 + p{
    font-size: 1.4rem;
  }
  #formInner{
    border-radius: 2vw;
    padding:0 0 13.33vw;
    width: 100%;
  }
  #formInner h2{
    font-size: 6.4vw;
  }
  #formInner h2 + p{
    margin-top: 4.8vw;
    font-size: 3vw;
    letter-spacing: 0;
  }
  #formInner .hbspt-form{
    margin: 2em 1em;
  }
}
/* table
----------------------- */
#formInner table{
  border-spacing:0;
  overflow: hidden;
  text-align: left;
  width: 100%;
}
#formInner table tr:nth-of-type(2n-1) th,
#formInner table tr:nth-of-type(2n-1) td{
  background-color: #F6FBFF;
}
#formInner table th,
#formInner table td{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  height: 100px;
}
#formInner table th{
  width: 270px;
  padding: 18px 30px;
  font-weight: bold;
  position: relative;
}
#formInner table th.required{
  padding-right: 90px;
}
#formInner table th.required::after{
  content: "必須";
  background-color: #CE2C3C;
  display: inline-block;
  color: #fff;
  border-radius: 5px;
  font-size: 11px;
  line-height: 1em;
  padding: 5px 7px;
  position: absolute;
  right: 35px;
  top: calc(50% - 10px);
}
#formInner table td{
  padding: 18px 50px;
}
#formInner table .caption{
  font-size: 14px;
  color: #000000;
  margin-left: 1em;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  #formInner table{
    border: none;
    border-radius: 0;
    width: 100%;
    font-size: 4vw;
  }
  #formInner table th,
  #formInner table td{
    width: 100%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
  }
  #formInner table th{
    padding: 3vw 5.3vw;
    background-color: #F6FBFF;
  }
  #formInner table th.required{
    padding-right: 15vw;
  }
  #formInner table th.required::after{
    border-radius: 5px;
    font-size: 2.6vw;
    line-height: 1em;
    padding: 5px 7px;
    right: 4vw;
    top: 3.6vw;
  }
  #formInner table td{
    background-color: #fff !important;
    padding: 4vw;
  }
  #formInner table .caption{
    font-size: 3.2vw;
    margin-left: 0;
  }
}
/* checkbox
----------------------- */
#formInner .checkbox li{
  margin-top: 15px;
  display: inline-block;
  width: 65%;
}
#formInner .checkbox li:nth-of-type(2n){
  width: 33%;
}
#formInner .checkbox li:first-child{
  margin-top: 0;
}
#formInner .checkbox li input[type="checkbox"]{
  display: none;
}
#formInner .checkbox li label{
  cursor: pointer;
}
#formInner .checkbox li label span {
  position: relative;
  vertical-align:-0.2em;
  line-height:1;
  border: solid 2px #7accf3;
  width: 14px;
  height: 14px;
  display: inline-block;
  margin-right: 5px;
  background-color: #fff;
}
#formInner .checkbox li input:checked + label span{
  border: solid 2px #1E54B6;
}
#formInner .checkbox li input:checked + label span::before {
  content: "";
  display: block;
  position: absolute;
  border-right:solid 3px #1E54B6;
  border-bottom:solid 3px #1E54B6;
  width: 7px;
  height: 14px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  left:5px;
  top: -6px;
}
/* textarea
----------------------- */
#formInner textarea{
  font-size: 14px;
  line-height: 1.4em;
  width: 100%;
  height: 80px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 8px 12px;
  border: solid 1px #bfbfbf;
  border-radius: 3px;
}
/* input
----------------------- */
#formInner input[type="text"]{
  font-size: 14px;
  line-height: 1.4em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 8px 12px;
  border: solid 1px #bfbfbf;
  width: 400px;
  max-width: 100%;
  border-radius: 3px;
}
#formInner .formName{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
}
#formInner .formName > div{
  width: 250px;
}
/* alert
----------------------- */
.alert{
  position: relative;
}
.alert span{
  background-color: #CE2C3C;
  display: inline-block;
  color: #fff;
  border-radius: 5px;
  font-size: 12px;
  line-height: 1em;
  padding: 5px 8px;
  position: absolute;
  left: 0;
  bottom: 7px;
  word-break:keep-all;
}
.alert span::after{
  content: "";
  width: 0;
  height: 0;
  border: solid 6px transparent;
  border-top: solid 6px #CE2C3C;
  position: absolute;
  left: 10px;
  bottom: -12px;
}
.alert + input[type="text"]{
  /* background-color: #FFE8E2; */
}
/* #formCaption
----------------------- */
#formCaption{
  font-size: 12px;
  line-height: 2em;
  margin-top: 60px;
}
#formCaption a{
  color: #1E54B6;
  text-decoration: underline;
}
#formCaption a:hover{
  text-decoration: none;
}
/* #formCheck
----------------------- */
#formCheck{
  margin: 50px auto 0;
  display: inline-block;
  width: 28em;
}
#formCheck li{
  display: inline-block;
}
#formCheck .alert{
  margin-left: -7px;
}
/* #formSubmit
----------------------- */
#formSubmit{
  margin: 50px auto 0;
  width: 320px;
  height: 60px;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
  box-shadow: 0px 3px 10px #00000029;
  background: #009FE8;
}
#formSubmit::before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  background: -webkit-linear-gradient(
    left,
    #41B7E1 0%,
    #1E54B6 100%
  );
  background: linear-gradient(
    to right,
    #41B7E1 0%,
    #1E54B6 100%
  );
  opacity:0;filter: alpha(opacity=0);-ms-filter: "alpha(opacity=0)";
  transition-property: opacity,filter;
  transition: 0.2s linear;
}
#formSubmit:hover::before{
  opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";
}
#formSubmit input,
#formSubmit a{
  display: inline-block;
  -webkit-appearance: none;
  outline: 0;
  color: #fff;
  border: none;
  width: 100%;
  height: 60px;
  font-size: 20px;
  letter-spacing: 0.15em;
  font-weight: bold;
  cursor: pointer;
  background-color: transparent;
  position: relative;
  text-align: center;
  z-index: 2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#formSubmit a{
  padding-top: 0.7em;
}
#formSubmit a:hover{
  text-decoration: none;
}
#formConfirmation{
  margin: 80px 0 40px;
}
#formConfirmation > div{
  display: inline-block;
  margin: 0 60px;
  vertical-align: top;
}
#formBack input{
  -webkit-appearance: none;
  outline: 0;
  color: #fff;
  border: none;
  width: 240px;
  height: 50px;
  border-radius: 30px;
  box-shadow: 0px 3px 10px #00000029;
  background-color: #67ABC4;
  font-size: 19px;
  letter-spacing: 0.15em;
  font-weight: bold;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #formInner .checkbox li{
    margin-top: 2vw;
    width: 100%;
  }
  /* textarea
  ----------------------- */
  #formInner textarea{
    font-size: 4.3vw;
    height: 24vw;
    padding: 0.3em 0.6em;
  }
  /* input
  ----------------------- */
  #formInner input[type="text"]{
    font-size: 4.3vw;
    padding: 0.3em 0.6em;
    width: 100%;
  }
  #formInner .formName > div{
    width: calc(50% - 1.3vw);
  }

  /* alert
  ----------------------- */
  .alert span{
    font-size: 2.8vw;
    line-height: 1em;
    padding: 0.3em;
    bottom: 7px;
    letter-spacing: 0;
  }
  .alert span::after{
    border: solid 6px transparent;
    border-top: solid 6px #CE2C3C;
    position: absolute;
    left: 10px;
    bottom: -12px;
  }
  /* #formCaption
  ----------------------- */
  #formCaption{
    font-size: 3.2vw;
    line-height: 1.6em;
    text-align: left;
    margin: 10vw 4vw 0;
  }
  #formCaption a{
    color: #1E54B6;
    text-decoration: underline;
  }
  #formCaption a:hover{
    text-decoration: none;
  }
  /* #formCheck
  ----------------------- */
  #formCheck{
    margin: 10vw 4vw 0;
    text-align: left;
    width: calc(100% - 8vw);
  }
  #formCheck .alert{
    margin-left: -7px;
  }
  /* #formSubmit
  ----------------------- */
  #formSubmit{
    margin: 12vw auto 0;
    width: 73.33vw;
    height: 13.33vw;
    border-radius: 6.66vw;
    box-shadow: 0px 0px 2.6vw #00000026;
  }
  #formSubmit::before{
    width: 100%;
    height: 13.33vw;
  }
  #formSubmit input,
  #formSubmit a{
    height: 13.33vw;
    font-size: 4.53vw;
  }
  #formSubmit a{
    padding-top: 0.6em;
  }
  #formConfirmation{
    margin: 0 10.4vw;
    width: auto;
    display: inline-block;
    text-align: left;
  }
  #formConfirmation > div{
    margin:40px 0 0;
  }
  #formBack input{
    height: 13.33vw;
    width: 33.3vw;
    font-size: 4.53vw;
  }
}
.formComplete{
  padding: 5em 0;
}
.formComplete .colorBt{
  margin-top: 5em;
}
/* ========================================================
#confirmationArea
======================================================== */
#confirmationArea{
  padding: 120px 0 120px;
}
#confirmationArea #formInner{
  box-shadow: 0px 0px 20px #00000029;
  border: none;
}
@media screen and (max-width: 768px) {
  #confirmationArea{
    margin-top: 0;
    padding: 15.3vw 2.6vw;
  }
}
/* ========================================================
#completionArea
======================================================== */
#completionArea{
  padding: 200px 0 220px;
}
#completionInner{
  background-color: #fff;
  box-shadow: 0px 0px 20px #00000029;
  border-radius: 30px;
  padding: 70px 40px;
  width: 900px;
  text-align: center;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#completionInner h2{
  font-size: 22px;
  color: #000000;
}
#completionInner h2 + p{
  margin: 50px 0;
  line-height: 2em;
  font-size: 16px;
}
#completionInner #formSubmit{
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  #completionArea{
    margin-top: 0;
    padding: 23.3vw 6.6vw 33.3vw;
  }
  #completionInner{
    box-shadow: none;
    border-radius: 2vw;
    padding: 6.6vw 0 13.33vw;
    width: 100%;
  }
  #completionInner h2{
    font-size: 6.4vw;
  }
  #completionInner h2 + p{
    margin: 10vw 0;
    font-size: 3.2vw;
    text-align: left;
    letter-spacing: 0;
  }
  #completionInner #formSubmit{
    margin-top: 13.3vw;
  }
}
/* ========================================================
contentArea
======================================================== */
#contentArea::after{
  content: "";
  background-color: #DFECF1;
  display: block;
  height: 1px;
  width: 1100px;
  margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
  #contentArea::after{
    width: 100%;
    margin: 20vw auto 0;
  }
}
/* ========================================================
archive
======================================================== */
#archiveHeadline{
  padding: 220px 0 100px;
  position: relative;
  color: #fff;
  background: #1F2F4A;
}
#archiveHeadline h1{
  font-size: 52px;
  line-height: 1em;
  letter-spacing: 0.1em;
  text-align: left;
  max-width: 1120px;
  margin: 0 auto;
}
#archiveHeadline p{
  margin: 20px auto 0;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.6em;
}
.archiveLead{
  text-align: center;
  font-size: 160%;
  margin-top:2em;
}
.jireiContentWrap{
  background-color: #fff;
  padding: 60px 0 100px;
}
.jireiContentWrap:nth-of-type(2n-1){
  background-color: #F6FBFF;
}
.jireiContentInner{
  margin: 0 auto;
  text-align: left;
  width: 1000px;
}
.jireiContentInner h2{
  text-align: center;
  font-size: 32px;
  line-height: 1.4em;
  margin-top: 80px;
}
.jireiContentInner h2 small{font-weight: normal;}
.jireiContentInner h2:first-child{
  margin-top: 0;
}
.jireiContentInner h2.archiveColumnLead{
  text-align: left;
  line-height: 1.5em;
  padding-left: 1.2em;
  position: relative;
  font-size: 24px;
  margin: 8vw 0 0;
}
.jireiContentInner h2.archiveColumnLead::before{
  content: "";
  display: block;
  background: transparent linear-gradient(180deg, #41B7E1 0%, #1E54B6 100%) 0% 0% no-repeat padding-box;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 8px;
}
.jireiContent{
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 16px;
  width: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  min-height: 280px;
  margin-top: 40px;
}
.jireiContentInner h2 + .jireiContent,
.jireiContentInner + .jireiContentInner{
  margin-top: 60px;
}
.jireiContent .image{
  overflow: hidden;
  width: 498px;
  height: auto;
}
.jireiContent .image img{
  width: 100%;
  height: auto;
}
.jireiContent .txt{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 500px;
  padding:25px 40px 30px;
}
.jireiContent .txt .title{
  font-weight: bold;
  font-size: 20px;
}
.jireiContent .txt .caption{
  line-height: 2em;
  margin-top: 0.7em;
}
.jireiContent .txt .colorBt{
  text-align: right;
  margin-top: 25px;
}
.references {
  display: inline-block;
  padding-left: 4.4em;
  text-indent: -4.4em;
}
/* .archiveLinkList
----------------------- */
.archiveLinkList{
    display: flex;
  justify-content: center;
  gap: 40px;
  margin: 60px auto 0;
}
.archiveLinkList li{
  width: 216px;
}
.archiveLinkList li a{
  display: table;
  width: 100%;
  background-color: #009FE8;
  color: #fff;
  text-align: center;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.2em;
  padding-bottom: 0.8em;
  border-radius: 10px;
  height: 80px;
  font-size: 18px;
}
.archiveLinkList li a::after{
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-right:solid 2px #fff;
  border-bottom:solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  bottom: 0.5em;
  left: calc(50% - 0.25em);
}
.archiveLinkList li a p{
  display: table-cell;
  vertical-align: middle;
}
/* .jireiColumnWriter
----------------------- */
.jireiColumnWriter{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  padding: 15px;
  border: solid 1px #D2D1D1;
  background-color: #fff;
  margin-top: 40px;
}
.seminarList + .jireiColumnWriter{
  margin-top: 80px;
}
.jireiColumnWriter .image{
  width: 130px;
}
.jireiColumnWriter .image img{
  width: 100%;
  height: auto;
}
.jireiColumnWriter .txt{
  width: calc(100% - 160px);
  font-size: 14px;
}
.jireiColumnWriter .txt h3{
  font-size: 20px;
  margin-bottom: 0.2em;
  color: #383838;
  margin-top: 0;
}
.jireiColumnWriter .txt h3 span{
  font-weight: normal;
  display: block;
  margin-bottom: 1em;
  line-height: 1.4em;
  font-size: 12px;
}
.jireiColumnWriter .txt p{
  margin-top: 1em;
}
#wrapper .jireiColumnWriter .txt p a{
  color: #144A8C;
  text-decoration: underline;
}
/* .jireiColumnList
----------------------- */
.jireiColumnList{
  display: flex;
  flex-wrap: wrap;
  justify-content:flex-start;
  gap: 0 16px;
}
.jireiColumnList li{
  background-color: #fff;
  overflow: hidden;
  position: relative;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 8px;
  margin-top: 40px;
  width: 320px;
}
.jireiColumnList li.wide{
  width: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  padding: 30px;
}
.jireiColumnList li.wide .image{
  width: calc(50% - 20px);
}
.jireiColumnList li .image img{
  width: 100%;
  height: auto;
}
.jireiColumnListBox{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 20px 110px;
}
.jireiColumnList li.wide .jireiColumnListBox{
  padding: 0;
  width: calc(50% - 20px);
}
.jireiColumnListBox .colorBt{
  position: absolute;
  bottom: 40px;
  right: calc(50% - 135px);
}
.jireiColumnList li.wide .jireiColumnListBox .colorBt{
  bottom: 30px;
  right: 30px;
}
.jireiColumnListBox h3{
  font-size: 18px;
}
.jireiColumnListBox p{
  line-height: 1.8em;
  margin-top: 1em;
}
.jireiColumnListBox p:first-child{
  margin-top: 0;
}
/* jireiColumnListMore
----------------------- */
.jireiColumnListMore{
  margin: 0 auto 80px;
  text-align: center;
}
.jireiColumnListMore a{
  display: inline-block;
  -webkit-appearance: none;
  outline: 0;
  color: #144A8C;
  padding: 0 40px;
  border-radius: 25px;
  height: 50px;
  font-size: 17px;
  width: 550px;
  margin-top: 40px;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  background-color: transparent;
  position: relative;
  text-decoration: none;
  z-index: 2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background:#fff;
  border: solid 2px #144A8C;
  transition: 0.2s linear;
  padding-top: 0.7em;
}
.jireiColumnListMore a:hover{
  opacity:.6;filter: alpha(opacity=60);-ms-filter: "alpha(opacity=60)";
}
.jireiColumnListMore a::after{
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-right:solid 2px #144A8C;
  border-bottom:solid 2px #144A8C;
  position: absolute;
  top: calc(50% - 0.3em - 1px);
  right: 2em;
}
/* .seminarList
----------------------- */
.seminarList{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
}
.seminarList li{
  background-color: #fff;
  overflow: hidden;
  position: relative;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 8px;
  margin-top: 40px;
  width: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  padding: 35px 30px 110px;
}
.seminarList li .image{
  width: calc(50% - 20px);
}
.seminarList li .image img{
  width: 100%;
  height: auto;
}
.seminarListBox{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 30px 30px 120px;
}
.seminarListBox{
  padding: 0;
  width: calc(50% - 20px);
}
.seminarListBox .colorBt{
  position: absolute;
  bottom: 30px;
  right: calc(50% - 135px);
}
.seminarListBox p{
  line-height: 1.8em;
  margin-top: 1em;
}
.seminarListBox p:first-child{
  margin-top: 0;
}
/* #archiveUnderHeadline
----------------------- */
#archiveUnderHeadline{
  text-align: left;
  margin: 30px auto 0;
  width: 1100px;
}
#archiveUnderHeadline h2{
  text-align: center;
  font-size: 40px;
}
#archiveUnderHeadline p{
  line-height: 2em;
  margin-top: 1.5em;
  font-size: 16px;
}
/* #archiveUnderUnit
----------------------- */
#archiveUnderUnit{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  text-align: left;
  margin: 50px auto 70px;
  width: 1100px;
}
/* #archiveUnderCenter
----------------------- */
#archiveUnderCenter{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  text-align: left;
  margin: 50px auto 70px;
  width: 800px;
}
#archiveUnderCenter #archiveUnderSide{
  width: 0;
  right: calc(-1*((100vw - 800px)/2) + 260px);
}

/* #archiveMember
----------------------- */
#archiveMember{
  background-color: #DFECF1;
  position: relative;
  padding-bottom: 65px;
}
#archiveMember::after{
content: "";
display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 70px;
  background-color: #fff;
  z-index: 1;
}
#archiveMemberInner{
  text-align: left;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 15px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  padding: 40px;
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2;
  display: table;
}
#archiveMemberInner .txt,
#archiveMemberInner .image{
  vertical-align: top;
}
#archiveMemberInner .image{
  width: 460px;
  min-width: 460px;
}
#archiveMemberInner .image img{
  width: 100%;
  height: auto;
}
#archiveMemberInner .txt{
  line-height: 2em;
  font-size: 14px;
text-align: center;
	margin:1em 0 0 0;
}
#archiveMemberInner .txt h3{
  font-weight: bold;
  font-size: 18px;
}
#archiveMemberInner .txt h3 span{
  font-weight: normal;
  font-size: 14px;
}
#archiveMemberInner .txt p{
  margin-top: 1em;
}
/* #archiveUnderRelatedArticle
----------------------- */
#archiveUnderRelatedArticle{
  display: flex;
  gap:50px;
  justify-content: center;
  margin-top: 80px;
}
#archiveUnderRelatedArticle li{
  width: 240px;
}
#archiveUnderRelatedArticle li h4{
  text-align: center;
  color: #144A8C;
  font-size: 20px;
  margin-bottom: 15px;
}
#archiveUnderRelatedArticle li a{
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  border: 2px solid #EFF6FB;
  padding: 10px;
}
#archiveUnderRelatedArticle li .image img{
  width: 100%;
  height: auto;
}
#archiveUnderRelatedArticle li p{
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: #101111;
  line-height: 1.4em;
  height: 2.8em;
  margin-top: 10px;
  font-size: 12px;
}

/* .archiveBook
----------------------- */
.archiveBook{
  border: solid 1px #D2D1D1;
  padding: 25px 30px 25px 40px;
  margin-top: 60px;
  font-size: 13px;
  width: 800px;
}
.archiveBook h3{
  color: #144A8C;
  margin-top: 0;
  font-size: 24px;
}
.archiveBookList{
  margin-top: 1em;
}
.archiveBookList li{
  padding-left: 1em;
  text-indent: -1em;
}
.archiveBook .link{
  margin-top: 0.5em;
}
#wrapper .archiveBook .link a{
  color: #144A8C;
  text-decoration: underline;
}
.archiveBook h4{
  font-size: 16px;
  margin-top: 35px;
}
.archiveBookDetail{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  margin-top: 0.5em;
}
.archiveBookDetail .txt{
  line-height: 1.6em;
  width: 450px;
  font-size: 12px;
}
.archiveBookDetail .txt p + p{
  margin-top: 0.5em;
}
.archiveBookDetail .txt .caption{
  font-size: 11px;
  line-height: 1.4em;
}
.archiveBookDetail .contents{
  width: 260px;
}
.archiveBookDetail .contents ul{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 1px #D2D1D1;
  padding: 1em;
}
.archiveBookDetail .contents ul li{
  margin-top: 0.6em;
}
.archiveBookDetail .contents ul li:first-child{
  margin-top: 0;
}
.archiveCaption{
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  /* ========================================================
  archive
  ======================================================== */
  #archiveHeadline{
      padding: calc(14vw + 50px) 0 8vw;
        margin-bottom: 10vw;
  }
  #archiveHeadline h1{
    font-size: 6.6vw;
  text-align: center;
  }
  #archiveHeadline p{
    margin: 2.6vw auto 0;
    font-size: 13px;
  }
  .archiveLead{
    font-size: 120%;
    margin-top:1em;
  }
  .jireiContentWrap{
    padding: 5.3vw 6.6vw 16vw;
  }
  .jireiContentInner{
    width: 100%;
  }
  .jireiContentInner h2{
    font-size: 6.4vw;
    margin: 9.3vw -0.5em 0;
  }
  .jireiContentInner h2.archiveColumnLead{
    font-size: 4.2vw;
    padding-left: 0.8em;
  }
  .jireiContentInner h2.archiveColumnLead::before{
    width: 1.2vw;
  }
  .jireiContent{
    box-shadow: 0px 0px 2vw #0000001F;
    border-radius: 4.2vw;
    min-height: auto;
    display: block;
    margin-top: 16vw;
  }
  .jireiContentInner h2 + .jireiContent,
  .jireiContentInner + .jireiContentInner{
    margin-top: 10.6vw;
  }
  .jireiContent .image{
    width: 100%;
    height: 60vw;
  }
  .jireiContent .txt{
    width: 100%;
    padding:4vw 4vw 6vw;
  }
  .jireiContent .txt .title{
    font-size: 4.2vw;
  }
  .jireiContent .txt .caption{
    line-height: 1.6em;
  }
  .jireiContent .txt .colorBt{
    text-align: center;
    margin-top: 6vw;
  }
  /* .archiveLinkList
  ----------------------- */
  .archiveLinkList{
      display: block;
    width:86.8vw;
    margin: 8vw auto 0;
  }
  .archiveLinkList li{
  width: 100%;
    margin-top: 2.6vw;
  }
  .archiveLinkList li a{
    border-radius: 1.3vw;
    height: 10.6vw;
    font-size: 3.7vw;
  }
  /* .jireiColumnWriter
  ----------------------- */
  .jireiColumnWriter{
    padding: 2vw;
    display: block;
    text-align: center;
    margin-top: 10.6vw;
  }
  .archiveColumnLead + .jireiColumnWriter{
    margin-top: 5.3vw;
  }
  .jireiColumnWriter .image{
    width: 24vw;
    margin: 0 auto;
  }
  .jireiColumnWriter .txt{
    width: 100%;
    margin-top: 2vw;
    text-align: left;
    font-size: 3.4vw;
  }
  /* .jireiColumnList
  ----------------------- */
  .jireiColumnList{
    display: block;
  }
  .jireiColumnList li{
    border-radius: 2vw;
    margin-top: 5.3vw;
    width: 100%;
  }
  .jireiColumnList li.wide{
    padding: 0;
  }
  .jireiColumnList li.wide .image{
    width: 100%;
  }
  .jireiColumnListBox{
    padding: 5.3vw 4vw 6.6vw;
  }
  .jireiColumnList li.wide .jireiColumnListBox{
    padding: 5.3vw 4vw 6.6vw;
    width: 100%;
  }
  .jireiColumnListBox .colorBt{
    position: static;
    bottom: auto;
    right: auto;
    margin-top: 5.3vw;
  }
  .jireiColumnList li.wide .jireiColumnListBox .colorBt{
    bottom: auto;
    right: auto;
  }
  .jireiColumnListBox h3{
    font-size: 4.2vw;
  }
  /* .jireiColumnListMore
  ----------------------- */
  .jireiColumnListMore{
    margin-bottom: 10vw;
  }
  .jireiColumnListMore a{
    padding: 0 2em;
    border-radius: 5vw;
    height: 10vw;
    margin-top: 6vw;
    font-size: 3.2vw;
    width: 60vw;
    padding-top: 0.8em;
  }
  /* .seminarList
  ----------------------- */
  .seminarList li{
    border-radius: 2vw;
    margin-top: 5.3vw;
    padding: 0;
    width: 100%;
  }
  .seminarList li .image{
    width: 100%;
  }
  .seminarListBox{
    padding: 5.3vw 4vw 6.6vw;
    width: 100%;
  }
  .seminarListBox .colorBt{
    position: static;
    bottom: auto;
    right: auto;
    margin-top: 5.3vw;
  }
  /* #archiveUnderHeadline
  ----------------------- */
  #archiveUnderHeadline{
    margin: 5.3vw 4vw 0;
    width: auto;
  }
  #archiveUnderHeadline h2{
    font-size: 6.4vw;
  }
  #archiveUnderHeadline p{
    font-size: 3.4vw;
  }
  /* #archiveUnderUnit
  ----------------------- */
  #archiveUnderUnit,
  #archiveUnderCenter{
    display: block;
    text-align: left;
    margin: 4vw auto 8vw;
    width: auto;
  }

  /* #archiveMember
  ----------------------- */
  #archiveMember{
    background-color: #DFECF1;
    position: relative;
    padding: 55px 10px;
  }
  #archiveMemberInner{
    box-shadow: 0px 0px 6px #0000001F;
    border: 1px solid #D6E3E5;
    border-radius: 7px;
    background-color: #fff;
    position: relative;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2;
  }
  #archiveMemberInner .image{
    width: 100%;
  }
  #archiveMemberInner .image img{
    width: 100%;
    height: auto;
  }
  #archiveMemberInner .txt{
    width: 100%;
    line-height: 2em;
    font-size: 12px;
    text-align: left;
  }
  #archiveMemberInner .txt h3{
    text-align: center;
    font-weight: bold;
    font-size: 3.4vw;
    margin-top: 20px;
    line-height: 1em;
  }
  #archiveMemberInner .txt h3 span{
    font-weight: normal;
    font-size: 12px;
  }
  #archiveMemberInner .txt p{
    margin-top: 1em;
  }
  /* #archiveUnderRelatedArticle
  ----------------------- */
  #archiveUnderRelatedArticle{display: none;}
  /* #archiveUnderSide
  ----------------------- */

  /* .archiveBook
  ----------------------- */
  .archiveBook{
    padding: 4vw;
    margin: 0 auto;
    margin-top: 10.6vw;
    font-size: 3.2vw;
    width: 90vw;
  }
  .archiveBook h3{
    font-size: 3.7vw;
    margin-top: 0;
  }
  .archiveBookList{
    margin-top: 0.5em;
  }
  .archiveBook h4{
    font-size: 3.2vw;
    margin-top: 4.8vw;
  }
  .archiveBookDetail .txt{
    width: 100%;
    font-size: 2.9vw;
  }
  .archiveBookDetail .txt .caption{
    font-size: 2.9vw;
  }
  .archiveBookDetail .contents{
    width: 100%;
    margin-top: 0.5em;
  }
  .archiveBookDetail .contents ul{
    display: inline-block;
  }
  .archiveBookDetail .contents ul li{
    margin-top: 0.2em;
  }
}
/* ========================================================
#popupBnr
======================================================== */
#popupBnr{
  position: fixed;
  z-index: 60;
  right: 20px;
  bottom: 20px;
  transform: translate3d(0, 20px, 0);
  transition: 0.5s;
  opacity: 0;
}
#popupBnr.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
#popupBnrLink{
  display: block;
  box-shadow: 0px 0px 10px #00000040;
  background-color: #fff;
  font-size: 0;
  line-height: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  width: 380px;
}
#popupBnrLink img{
  width: 100%;
  height: auto;
  opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";
  transition-property: opacity,filter;
  transition: 0.2s linear;
}
#popupBnrLink:hover img{
  opacity:.6;filter: alpha(opacity=60);-ms-filter: "alpha(opacity=60)";
}
#popupBnrClose{
  display: block;
  background-color: #7D7D7D;
  border-radius: 50%;
  position: absolute;
  transition-property: background-color;
  transition: 0.2s linear;
  top: -10px;
  right: -10px;
  width: 26px;
  height: 26px;
}
#popupBnrClose:hover{
  background-color: #9D9D9D;
}
#popupBnrClose::before,
#popupBnrClose::after{
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  left: calc(50% - 9px);
  top: calc(50% - 1px);
  border-radius: 1px;
  width: 18px;
  height: 2px;
}
#popupBnrClose::before{
  transform: rotate(45deg);
}
#popupBnrClose::after{
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  #popupBnr{
    right: 5.3vw;
    bottom: 5.3vw;
  }
  #popupBnrLink{
    padding: 2vw;
    width: 76vw;
  }
  #popupBnrClose{
    top: -3vw;
    right: -3vw;
    width: 7vw;
    height: 7vw;
  }
  #popupBnrClose::before,
  #popupBnrClose::after{
    left: calc(50% - 2.5vw);
    width: 5vw;
  }
}
/* ========================================================
#footerArea
======================================================== */
#footerArea{
  width: 100%;
  position: relative;
}
#footerMenu{
  margin: 0 auto;
  max-width: 1100px;
  padding: 40px 0 80px;
}
#footerArea.noMenu #footerMenu{display: none;}
#footerMenu p{
  font-weight: bold;
  line-height: 1.5em;
  font-size: 20px;
  padding-bottom: 30px;
  border-bottom: 1px solid #DFECF1;
}
#footerMenu p span{
    font-weight: normal;
    font-size: 18px;
    display: inline-block;
    margin-top: 20px;
}
#footerMenu ul{
  display: block;
  text-align: left;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  margin: 40px auto 0;
}
#footerMenu ul li{
  display: inline-block;
  vertical-align: top;
  width: 33.33%;
  text-align: left;
  font-size: 14px;
  line-height: 1.2em;
  letter-spacing: 0;
}
#footerMenu ul li span{
  font-weight: bold;
  font-size: 16px;
}
#footerMenu ul li:nth-of-type(n+4){
  margin-top: 30px;
}
#footerGotop{
  position: fixed;
  right: 80px;
  bottom: 80px;
  z-index: 50;
  display: none;
}
#footerGotop a{
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  background-color: #009FE8;
  position: relative;
  opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";
  transition-property: opacity,filter;
  transition: 0.2s linear;
}
#footerGotop a:hover{
  opacity:.6;filter: alpha(opacity=60);-ms-filter: "alpha(opacity=60)";
}
#footerGotop a::after{
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-top:solid 2px #fff;
  border-right:solid 2px #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  left: calc(50% - 8px);
  top: calc(50% - 6px);
}
#footerLogo{
  border-top: 1px solid #DFECF1;
}
#footer_gnaviArea{
  margin: 80px auto 100px;
  max-width: 1100px;
}
#footerContact{
  margin-left: auto;
  position: relative;
  display: table;
  width: 300px;
  height: 70px;
  text-align: center;
  transition-property: height;
  transition: 0.1s linear;
}
#footerContact a{
  border-radius: 8px;
  display: table-cell;
  height: 60px;
  vertical-align: middle;
  text-align: left;
  padding-left: 25px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.5em;
  background-color: #4DA3FF;
}
#footerContact a::before {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 50px;
    border-right: 1px solid;
    top: 0;
    bottom: 0;
    margin: auto;
    right:19%;
}
#footerContact a::after {
    content: '▼';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    transform: rotate(270deg);
    top: 0;
    bottom: 0;
    margin: auto;
    right: 7%;
}
#footerContact a:hover{
  background-color: #fff;
color: #4DA3FF;
border: solid 1px #4DA3FF;
}
#footer_gnaviArea .logo{
  max-width: 400px;
}
#footer_gnaviArea .logo img{
  width: 100%;
}
#footer_gnaviArea .footer_gnavi ul{
  font-size: 14px;
  font-weight: bold;
  justify-content: space-around;
}
#footer_gnaviArea .footer_gnavi ul li{
  margin-left: 20px;
}
#footer_gnaviArea .footer_gnavi{
  margin-left: auto;
}
#footerLogo .btm_nav{
  max-width: 1100px;
  font-size: 14px;
  margin: 0 auto 80px;
  justify-content: space-between;
}
.btm_nav .footerCopy{
  font-size: 12px;
  margin-right: 30px;
}
.btm_nav .toho_logo{
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  #footerArea{
    width: 100%;
    position: relative;
  }
  #footerMenu{
    margin: 0 auto;
    max-width: 90%;
    padding: 10vw 0;
  }
  #footerArea.noMenu #footerMenu{display: none;}
  #footerMenu p{
    font-weight: bold;
    line-height: 1.5em;
    font-size: 1.6rem;
    padding-bottom: 30px;
    border-bottom: 1px solid #DFECF1;
  }
  #footerMenu p span{
    font-weight: normal;
    font-size:1.4rem;
    display: inline-block;
    margin-top: 5vw;
  }
  #footerMenu ul{
    text-align: left;
    font-size: 0;
    line-height: 0;
    letter-spacing: 0;
    margin: 8vw auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #footerMenu ul li{
    font-size: 1.3rem;
  vertical-align: middle;
  width: 48%;
  height: 16vw;
  border: 1px solid #DFECF1;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  display: block;
  }

  #footerMenu ul li span{
    font-weight: bold;
    font-size: 1.3rem;
  }
  #footerMenu ul li:nth-of-type(n+3){
    margin-top: 4vw;
  }
  #footerMenu ul li a{
    width: 100%;
    height: 100%;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

  }
  #footerGotop{
    position: fixed;
    right: 80px;
    bottom: 80px;
    z-index: 50;
    display: none;
  }
  #footerGotop a{
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    background-color: #009FE8;
    position: relative;
    opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";
    transition-property: opacity,filter;
    transition: 0.2s linear;
  }
  #footerGotop a:hover{
    opacity:.6;filter: alpha(opacity=60);-ms-filter: "alpha(opacity=60)";
  }
  #footerGotop a::after{
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border-top:solid 2px #fff;
    border-right:solid 2px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    left: calc(50% - 8px);
    top: calc(50% - 6px);
  }
  #footerLogo{
    border-top: 1px solid #DFECF1;
  }
  #footer_gnaviArea{
    margin: 10vw auto;
    max-width: 90%;
  }
  #footerContact{
    margin-left: auto;
    position: relative;
    display: table;
    width: 100%;
    height: 15vw;
    text-align: center;
    transition-property: height;
    transition: 0.1s linear;
    margin-top: 10vw;
  }
  #footerContact a{
    border-radius: 8px;
    display: table-cell;
    height: 100%;
    vertical-align: middle;
    text-align: left;
    padding-left: 12vw;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.6rem;
    line-height: 1.5em;
    background-color: #4DA3FF;
    transition-property: background-color, height;
    transition: 0.2s linear;
  }
  #footerContact a::before {
      content: '';
      display: block;
      position: absolute;
      width: 1px;
      height: 12vw;
      border-right: 1px solid;
      top: 0;
      bottom: 0;
      margin: auto;
      right:19%;
  }
  #footerContact a::after {
      content: '▼';
      display: block;
      position: absolute;
      width: 20px;
      height: 20px;
      transform: rotate(270deg);
      top: 0;
      bottom: 0;
      margin: auto;
      right: 7%;
  }
  #footer_gnaviArea .logo{
    max-width: 400px;
  }
  #footer_gnaviArea .logo img{
    width: 100%;
  }
  #footer_gnaviArea .footer_gnavi ul{
    font-weight: normal;
    justify-content: space-between;
    font-size: 1.8rem;
  }
  #footer_gnaviArea .footer_gnavi ul li{
    margin-left: 0;
    width: 48%;
    font-size: 1.3rem;
    padding-bottom: 3vw;
    border-bottom: 1px solid #DFECF1;
  }
  #footer_gnaviArea .footer_gnavi ul li a{
    width: 100%;
    display: block;
  }
  #footer_gnaviArea .footer_gnavi ul li:nth-of-type(n+3){
    margin-top: 6vw;
  }
  #footer_gnaviArea .footer_gnavi{
    margin-left: auto;
  }
  #footerLogo .btm_nav{
    max-width: 90%;
    font-size: 1.8rem;
    margin: 0 auto 10vw;
    justify-content: space-between;
    border-top: 1px solid #DFECF1;
    padding: 4vw 0;
    border-bottom: 1px solid #DFECF1;
  }
  .btm_nav > div{
    width: 48%;
    font-size: 1.4rem;
  }
  .btm_nav > div:nth-of-type(n+4){
    margin-top: 4vw;
  }
  .btm_nav .footerCopy{
    font-size: 12px;
    margin-right: 30px;
  }
  .btm_nav .toho_logo{
    margin-left: 30px;
  }
  .btm_nav_sp{
    padding-bottom: 10vw;
    justify-content: space-between;
  }
  .btm_nav_sp div{
    width: 48%;
  }
  .btm_nav_sp div img{
    width: 80%;
  }
  .btm_nav_sp div.footerCopy{
    width: 100%;
    margin: 5vw auto 0;
            font-size: 1.2rem;
  }
}
}
/* ================================================================================
news
================================================================================ */
#newsList{
  padding:60px 0;
  overflow: inherit;
}
#newsList .newsListContent{
  width: 1000px;
  margin: 0 auto;
}
#newsList .newsListContent ul{
  text-align: left;
}
#newsList .newsListContent ul li{
  display: table;
  width: 100%;
  border-bottom: solid 1px #CCCCCC;
  padding: 18px 0;
}
#newsList .newsListContent ul li:first-child:last-child{
  border-bottom: none;
  padding-bottom: 0;
}
#newsList .newsListContent ul li > *{
  display: table-cell;
  vertical-align: middle;
}
#newsList .newsListContent ul li .day{
  color: #707070;
  width: 100px;
  min-width: 100px;
}
#newsList .newsListContent ul li a{
  color:#454545;
  text-decoration: none;
  display: block;
  padding-right: 40px;
  position: relative;
}
#newsList .newsListContent ul li a::after{
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-right: solid 2px #009FE8;
  border-top: solid 2px #009FE8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 14px;
  top: calc(50% - 5px);
}
@media screen and (max-width: 768px) {
  #newsList{
    padding:5vw 6.6vw 6.6vw;
    overflow: inherit;
  }
  #newsList .newsListContent{
    width: 100%;
  }
  #newsList .newsListContent ul{
    text-align: left;
  }
  #newsList .newsListContent ul li{
    display: block;
    width: 100%;
    border-bottom: solid 1px #CCCCCC;
    padding: 1em 1em 1em 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 3.2vw;
  }
  #newsList .newsListContent ul li .day{
    color: #707070;
    font-size: 92%;
    display: block;
    margin-bottom: 0.3em;
  }
  #newsList .newsListContent ul li a{
    color:#454545;
    text-decoration: none;
    display: block;
    padding-right: 1em;
    position: relative;
  }
  #newsList .newsListContent ul li a::after{
    content: "";
    display: block;
    width: 0.7em;
    height: 0.7em;
    border-right: solid 2px #009FE8;
    border-top: solid 2px #009FE8;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: -0.4em;
    top: calc(50% - 0.5em);
  }
}
/* ================================================================================
function
================================================================================ */
/* ========================================================
#functionMv
======================================================== */
#functionMv{
  width: 1200px;
  height: 350px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding-right: 600px;
  position: relative;
      display:flex;
    -ms-flex-pack:distribute;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
  text-align: center;
  color: #211C17;
}
#functionMvLead{
  font-size: 32px;
  line-height: 1.5em;
  font-weight: bold;
  letter-spacing: 0;
}
#functionMvInner .contactBt{
  margin-top: 60px;
}
#functionMvSvg{
  position: absolute;
  top: 10px;
  width: 400px;
  right: 40px;
  z-index: 5;
}
#functionMvIllust{
  position: absolute;
  top: 15px;
  right: 10px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  #functionMv{
    width: 100%;
    height: auto;
    padding-right: 0;
    margin-top: 4vw;
  }
  #functionMvLead{
    font-size: 6.6vw;
  }
  #functionMvInner .contactBt{
    margin-top: 5.3vw;
  }
  #functionMvSvg{
    top: auto;
    width: 70vw;
    right: 15vw;
    z-index: -1;
  }
  #functionMvIllust{
    position: static;
    top: auto;
    width: 90vw;
    right: auto;
    margin: 5vw auto;
  }
  #functionMvIllust img{
    width: 100%;
    height: auto;
  }
}
/* ========================================================
#functionArea
======================================================== */
/* #functionLinkArea
----------------------- */
#functionLinkArea{
  margin: 60px auto 10px;
}
#functionLinkArea h3{
  font-size: 24px;
}
#functionLink{
  margin: 110px auto 0;
  display: block;
  width: 1000px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-left:solid 2px #D2D1D1;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
}
#functionLink li{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-right:solid 2px #D2D1D1;
  width: 25%;
}
#functionLink li a{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
  font-weight: bold;
  height: calc(100% + 90px);
  margin-top: -90px;
  font-size: 18px;
}
#functionLink li a .image{
  width: 120px;
  margin: 0 auto;
}
#functionLink li a .image img{
  width: 100%;
  height: auto;
}
#functionLink li a p{
  margin: 0.5em -0px 2em;
}
#functionLink li a::after{
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-right:solid 2px #144A8C;
  border-bottom:solid 2px #144A8C;
  transform: rotate(45deg);
  position: absolute;
  left: calc(50% - 0.25em);
  bottom: 0.8em;
  transition-property: bottom;
  transition: 0.2s linear;
}
#functionLink li a:hover::after{
  bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  #functionLinkArea{
    margin: 4vw auto 8vw;
  }
  #functionLinkArea h3{
    font-size: 5.3vw;
  }
  #functionLink{
    margin: 5.3vw 2.6vw 0;
    width: auto;
    border-left:none;
  }
  #functionLink li{
    border: none;
    width: 50%;
  }
  #functionLink li:nth-of-type(2n-1){
    border-right:solid 2px #D2D1D1;
  }
  #functionLink li + li + li{
    border-top:solid 2px #D2D1D1;
  }
  #functionLink li a{
    margin-top:0;
    height: 100%;
    letter-spacing: 0;
        display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-direction: column;
    flex-wrap: wrap;
    font-size: 3.7vw;
    padding: 0.5em 0;
  }
  #functionLink li a .image{
    width: 23vw;
  }
  #functionLink li a p{
    height: 2.8em;
        display:flex;
    justify-content: center;
    align-items: center;
  }
  #functionLink li a::after{
    width: 0.8em;
    height: 0.8em;
    left: calc(50% - 0.4em);
  }
}
/* #featuresContent
----------------------- */
#featuresContent{
  background-color: #F6FBFF;
  position: relative;
  padding: 70px 0;
}
#featuresContent::after {
  content: "";
  width: 0;
  height: 0;
  border: solid 200px transparent;
  border-top: solid 70px #f6fbff;
  position: absolute;
  left: calc(50% - 200px);
  bottom: -270px;
}
#featuresContent h2{
  font-size: 40px;
}
.featuresBox{
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 8px;
  width: 1000px;
  padding: 22px 60px 30px;
  margin: 60px auto 0;
  line-height: 1.5em;
  font-size: 16px;
}
.featuresBox + .featuresBox{
  margin-top: 40px;
}
.featuresBoxHeadline > *{
  display: inline-block;
  vertical-align: middle;
}
.featuresBoxHeadline .image{
  width: 80px;
}
.featuresBoxHeadline .image img{
  width: 100%;
  height: auto;
}
.featuresBoxHeadline h3{
  color: #144A8C;
  margin-left: 0.8em;
  font-size: 28px;
  line-height: 1.4em;
}
.featuresBoxTxt{
  text-align: left;
  margin-top: 20px;
}
.featuresPointList{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  text-align: left;
  letter-spacing: -0.3em;
  font-size: 0;
  line-height: 0;
  background: transparent linear-gradient(90deg, #D6FCE6 0%, #C5DAFF 100%) 0% 0% no-repeat padding-box;
  border-radius: 8px;
  padding: 5px 7.5px;
  margin-top: 20px;
}
.featuresPointList li{
  display: inline-block;
  vertical-align: top;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 33%;
  letter-spacing:0;
  font-size: 16px;
  line-height: 1.5em;
  padding: 15px 7.5px;
}
.featuresPointList li h4{
      display:flex;
    justify-content: center;
    align-items: center;
  color: #144A8C;
  background-color: #fff;
  width: 100%;
  border-radius: 8px;
  height: 70px;
}
.featuresPointList li p{
  font-size: 88%;
  margin-top: 0.5em;
  line-height: 1.5em;
  font-weight: bold;
}
.featuresBoxLead{
  color: #144A8C;
  text-align: left;
  display: block;
  border-left: solid 8px #144A8C;
  padding-left: 0.8em;
  line-height: 1.5em;
  font-size: 24px;
  margin-top: 40px;
}
.featuresBoxLink{
  display: block;
  letter-spacing: -0.3em;
  margin: 20px auto 0;
}
.featuresBoxLink li{
  letter-spacing: 0;
  margin: 10px 7.5px 0;
  display: inline-block;
  vertical-align: top;
  min-width: 270px;
}
.featuresBoxLink li a{
  background-color: #fff;
  border: solid 2px #144A8C;
  border-radius: 9999px;
  display: block;
  color: #144A8C;
  position: relative;
  padding: 0.8em 2.5em;
  font-size: 17px;
}
.featuresBoxLink li a::after{
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-right: solid 2px #144A8C;
  border-top: solid 2px #144A8C;
  transform: rotate(45deg);
  position: absolute;
  right: 1.5em;
  top: calc(50% - 0.25em);
  transition-property: right;
  transition: 0.2s linear;
}
.featuresBoxLink li a:hover::after{
  right: 1.2em;
}
@media screen and (max-width: 768px) {
  #featuresContent{
    padding: 10.6vw 0;
  }
  #featuresContent::after {
      border: solid 24vw transparent;
      border-top: solid 8.5vw #f6fbff;
      left: calc(50% - 24vw);
      bottom: -32.5vw;
  }
  #featuresContent h2{
    font-size: 6.4vw;
  }
  .featuresBox{
    border-radius: 2vw;
    width: 87vw;
    padding: 4vw 4vw 5.3vw;
    margin: 5.3vw auto 0;
    font-size: 3.2vw;
  }
  .featuresBox + .featuresBox{
    margin-top: 13.3vw;
  }
  .featuresBoxHeadline{
    display: block;
  }
  .featuresBoxHeadline .image{
    width: 20vw;
  }
  .featuresBoxHeadline h3{
    margin-left: 0;
    font-size: 5.3vw;
    margin-top: 0.5em;
    display: block;
  }
  .featuresBoxTxt{
    margin-top: 4vw;
  }
  .featuresPointList{
    border-radius: 2vw;
    padding: 2vw;
    margin-top: 4vw;
  }
  .featuresPointList li{
    width: 50%;
    font-size: 3.4vw;
    padding: 2vw;
  }
  .featuresPointList li h4{
    border-radius: 2vw;
    height: 16vw;
  }
  .featuresPointList li p{
    text-align: left;
  }
  .featuresBoxLead{
    border-left: solid 1vw #144A8C;
    font-size: 4.2vw;
    margin-top: 5.3vw;
  }
  .featuresBoxLink{
    margin: 1vw auto 0;
  }
  .featuresBoxLink li{
    margin: 2.6vw auto 0;
    min-width: 57.6vw;
    width: auto;
  }
  .featuresBoxLink li a{
    padding: 0.8em 4em;
    border-width: 1px;
    font-size: 3.2vw;
  }
}
/* ========================================================
#caseArea
======================================================== */
#caseArea{
  background-color: #E7F4FE;
  padding: 80px 0 65px;
}
#caseArea .colorBt{
  margin-top: 50px;
}
.caseContentWrap{
  margin: 0 auto;
  width: 1100px;
}
.caseContentInner{
  margin: 0 -50px;

    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    flex-wrap: wrap;
  letter-spacing: -0.3em;
}
.caseContent{
  background-color: #fff;
  box-shadow: 0px 0px 6px #0000001F;
  border-radius: 15px;
  width: 500px;
  overflow: hidden;
  margin: 80px 50px 0;
  letter-spacing:0;
}
.caseContent a{
  display: block;
  text-decoration: none;
  color: #454545;
}
.caseContent .image{
  height: 200px;
  overflow: hidden;
  transition-property: opacity,filter;
  transition: 0.2s linear;
  position: relative;
}
.caseContent .image img{
  width: 100%;
  height: auto;
  position: absolute;
  left: 0;
  top: calc((200px - 375px)/2);
  transform: scale(1);
  -webkit-transform: scale(1);
  transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  -o-transition: -o-transform 0.2s linear;
  -ms-transition: -ms-transform 0.3s linear;
  transition: transform 0.2s linear;
}
.caseContent a:hover img{
  opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
}
.caseContent .txt{
  text-align: left;
  padding: 20px 25px;
  min-height: 200px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5em;
}
.caseContent .txt .caption{
  font-weight: normal;
  font-size: 14px;
  margin-bottom: 5px;
}
.caseContentWrap .slick-arrow{
  position: absolute;
  top: 50%;
  cursor: pointer;
  width: 22px;
  height: 22px;
  border: none;
  border-top:solid 4px #fff;
  background: none;
  font-size: 0;
  z-index: 2;
}
.caseContentWrap .slick-arrow.slick-prev{
  left: -10px;
  border-left:solid 4px #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.caseContentWrap .slick-arrow.slick-next{
  right: -10px;
  border-right:solid 4px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.caseContentWrap .slick-dots{
  padding: 50px 10px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 100%;
  text-align: center;
  line-height: 0;
}
.caseContentWrap .slick-dots li{
  display: inline-block;
  margin: 0 13px;
}
.caseContentWrap .slick-dots li button{
  width: 14px;
  height: 14px;
  border-radius: 7px;
  background-color: #c0c0c0;
  padding: 0;
  border: none;
  cursor: pointer;
  font-size: 0;
  line-height: 0;
}
.caseContentWrap .slick-dots li.slick-active button{
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #caseArea{
    padding: 10vw 2.6vw 11.3vw;
  }
  #caseBt .colorBt{
    margin-top: 6vw;
    margin-bottom: 8vw;
  }
  #caseBt .colorBt a{
    color: #000;
    background-color: #FFE600;
  }
  #caseBt .colorBt a::after{display: none;}
  .caseContentWrap{
    margin: 0;
    width: 100%;
  }
  .caseContentInner{
    margin: 0 -3vw;
  }
  .caseContent{
    background-color: #fff;
    border-radius: 2vw;
    width: auto;
    margin: 8vw 3vw 0;
    overflow: hidden;
  }
  .caseContent a{
    display: block;
    text-decoration: none;
    color: #454545;
  }
  .caseContent .image{
    height: 34vw;
    overflow: hidden;
  }
  .caseContent .image img{
    width: 100%;
    height: auto;
    top: calc((34vw - 64vw)/2);
  }
  .caseContent .txt{
    text-align: left;
    padding: 3.3vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 3.7vw;
    font-weight: bold;
    line-height: 1.5em;
    min-height: 30vw;
  }
  .caseContent .txt .caption{
    font-weight: normal;
    font-size: 3.2vw;
    margin-bottom: 0.5em;
  }
  .caseContent .txt br{display: none;}
  .caseContentWrap .slick-arrow{
    position: absolute;
    cursor: pointer;
    width: 5vw;
    height: 5vw;
    border: none;
    border-top:solid 1vw #fff;
    background: none;
    font-size: 0;
    z-index: 2;
  }
  .caseContentWrap .slick-arrow.slick-prev{
    left: -3vw;
    border-left:solid 1vw #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .caseContentWrap .slick-arrow.slick-next{
    right: -3vw;
    border-right:solid 1vw #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .caseContentWrap .slick-dots{
    padding: 8vw 2.6vw 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%;
    text-align: center;
    line-height: 0;
  }
  .caseContentWrap .slick-dots li{
    display: inline-block;
    margin: 0 2.6vw;
  }
  .caseContentWrap .slick-dots li button{
    width: 2.4vw;
    height: 2.4vw;
    border-radius: 1.2vw;
    background-color: #c0c0c0;
    padding: 0;
    border: none;
    cursor: pointer;
    font-size: 0;
    line-height: 0;
  }
  .caseContentWrap .slick-dots li.slick-active button{
    background-color: #fff;
  }
}

/* ========================================================
case
======================================================== */
#caseIndexHeadline{
  padding: 80px 0 0;
  background-color: #F2F8FA;
  position: relative;
}
#caseIndexHeadline::after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -200px;
  z-index: -1;
  width: 100%;
  height: 200px;
  background: -webkit-linear-gradient(
    top,
    #F2F8FA 0%,
    #FFFFFF 100%
  );
  background: linear-gradient(
    to bottom,
    #F2F8FA 0%,
    #FFFFFF 100%
  );
}
#caseIndexHeadline h1{
  font-size: 40px;
  line-height: 1em;
  letter-spacing: 0.1em;
  text-shadow:0 3px 6px rgba(0,0,0,0.2);
}
#caseIndexHeadline p{
  margin: 20px auto 0;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.6em;
}
#caseIndexJirei{
  padding-bottom: 140px;
  overflow: inherit;
}
#caseIndexJirei .jireiContent{
  box-shadow: 6px 6px 12px 0px rgba(0,0,0,0.2);
}
/* #caseHeadline
----------------------- */
#caseHeadline{
  padding: 120px 0 40px;
  background-color: #F2F8FA;
  position: relative;
}
#caseHeadline h1{
  font-size: 40px;
  line-height: 1em;
  letter-spacing: 0.1em;
}
#caseHeadline p{
  margin: 20px auto 0;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.6em;
}
/* #caseFacility
----------------------- */
#caseFacility{
  background-color: #F6FBFF;
  position: relative;
  padding-bottom: 65px;
}
#caseFacilityHeadline{
  background-color: #fff;
  line-height: 1.6em;
  font-weight: bold;
  padding: 20px 0 120px;
  font-size: 34px;
}
#caseFacilityInner{
  width: 1000px;
  text-align: left;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 15px;
  margin: -60px auto 0;
  background-color: #fff;
  position: relative;
  padding: 40px;
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2;
}
#caseFacilityInner > .image{
  text-align: center;
}
.caseFacilityCaption{
  width: 1000px;
  text-align: left;
  line-height: 1.8em;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 15px;
  background-color: #fff;
  position: relative;
  padding: 40px;
  font-size: 16px;
  margin: 40px auto 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2;
}
.caseFacilityCaption h3{
  text-align: center;
  font-size: 132%;
  font-weight: bold;
}
.caseFacilityCaption p{
  margin-top: 1em;
}
#caseFacilityInnerUnit{
  display: table;
  width: 100%;
}
#caseFacilityInnerUnit.noImage{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 195px 0 235px;
}
#caseFacilityInnerUnit .txt,
#caseFacilityInnerUnit .image{
  display: table-cell;
  vertical-align: top;
}
#caseFacilityInnerUnit .txt{
  width: 100%;
  padding-right: 40px;
}
#caseFacilityInnerUnit .txt #caseFacilityLogo {
  padding: 20px;
  text-align: center;
}
#caseFacilityInnerUnit .txt dl{
  display: block;
  margin-top: 40px;
}
#caseFacilityInnerUnit .txt dl dt,
.caseFacilityInnerWide dl dt{
  float: left;
  font-weight: bold;
  letter-spacing: 0.1em;
}
#caseFacilityInnerUnit .txt dl dd,
.caseFacilityInnerWide dl dd{
  padding-left: 80px;
  margin-bottom: 0.5em;
}
#caseFacilityInnerUnit .txt dl dd a,
.caseFacilityInnerWide dl dd a{
  text-decoration: none;
  color: #454545;
}
#caseFacilityInnerUnit .txt dl + p{
  margin-top: 3em;
  line-height: 2em;
}
#caseFacilityInnerUnit .image{
  width: 430px;
}
.caseFacilityInnerWide{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-between;
    align-items: center;
    flex-wrap: wrap;
  border-top:solid 1px #DFECF1;
  margin-top: 60px;
  padding-top: 60px;
}
.image + .caseFacilityInnerWide{
  padding-top: 0;
  border-top:none;
}
.caseFacilityInnerWide dl{
  width: 440px;
  display: block;
}
#caseFacilityInner > p{
  line-height: 2em;
  margin-top: 60px;
}

/* #caseMember
----------------------- */
#caseMember{
  background-color: #DFECF1;
  position: relative;
  padding-bottom: 65px;
}
#caseMember::after{
content: "";
display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 70px;
  background-color: #fff;
  z-index: 1;
}
#caseMemberInner{
  text-align: left;
  box-shadow: 0px 0px 6px #0000001F;
  border: 1px solid #D6E3E5;
  border-radius: 15px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  padding: 40px;
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2;
  display: table;
}
#caseMemberInner .txt,
#caseMemberInner .image{
  vertical-align: top;
}
#caseMemberInner .image{
  width: 460px;
  min-width: 460px;
}
#caseMemberInner .image img{
  width: 100%;
  height: auto;
}
#caseMemberInner .txt{
  line-height: 2em;
  font-size: 14px;
text-align: center;
	margin:1em 0 0 0;
}
#caseMemberInner .txt h3{
  font-weight: bold;
  font-size: 18px;
}
#caseMemberInner .txt h3 span{
  font-weight: normal;
  font-size: 14px;
}
#caseMemberInner .txt p{
  margin-top: 1em;
}
/* #caseBack
----------------------- */
#caseBack{
  padding: 90px 0 60px;
}
#caseInner{
  max-width: 1000px;
  margin: 0 auto;
  text-align: right;
}
#caseInner a{
  display: inline-block;
  position: relative;
  color: #1B94D4;
  line-height: 1em;
  font-size: 18px;
  padding-right: 3.6em;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 0.1em;
}
#caseInner a::before,
#caseInner a::after{
  content: "";
  display: block;
  position: absolute;
  background-color: #1B94D4;
  height: 1px;
}
#caseInner a::before{
  width: 42px;
  right: 8px;
  top: 50%;
}
#caseInner a:hover::before{
  right: 0;
}
#caseInner a::after{
  width: 16px;
  right: 4px;
  top: 20%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#caseInner a:hover::after{
  right: -4px;
}
@media screen and (max-width: 768px) {
  #caseIndexHeadline{
    padding: 8vw 0 0;
  }
  #caseIndexHeadline::after{
    height: 30vw;
    bottom: -30vw;
  }
  #caseIndexHeadline h1{
    font-size: 6.6vw;
  }
  #caseIndexHeadline p{
    margin: 2.6vw auto 0;
    font-size: 13px;
  }
  #caseIndexJirei{
    padding:0 4vw 16vw;
    -webkit-box-sizing: border-box;
  box-sizing: border-box;
  }
  #caseIndexJirei .jireiContent{
    box-shadow: 3px 3px 6px 0px rgba(0,0,0,0.2);
  }
  /* #caseHeadline
  ----------------------- */
  #caseHeadline{
   padding: calc(8vw + 50px) 0 8vw;
  }
  #archiveHeadline h1{
    font-size: 6.6vw;
  }
  #archiveHeadline p{
    margin: 2.6vw auto 0;
    font-size: 13px;
  }
  /* #caseFacility
  ----------------------- */
  #caseFacility{
    padding: 0 10px 25px;
  }
  #caseFacilityInner{
    box-shadow: 0px 0px 6px #0000001F;
    border: 1px solid #D6E3E5;
    border-radius: 7px;
    background-color: #fff;
    position: relative;
    text-align: left;
    font-size: 13px;
    padding:20px;
    width: 100%;
    margin-top: -40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #caseFacilityInner > .image{
    text-align: center;
  }
  #caseFacilityInner > .image img,#caseFacilityInnerUnit .image img{
    width: 100%;
    height: auto;
  }
  .caseFacilityCaption{
    box-shadow: 0px 0px 6px #0000001F;
    border: 1px solid #D6E3E5;
    border-radius: 7px;
    background-color: #fff;
    font-size: 13px;
    width: 100%;
    padding:20px;
    margin-top: 20px;
  }
  #caseFacilityInnerUnit{display: block;}
  #caseFacilityInnerUnit .txt, #caseFacilityInnerUnit .image{
    display: block;
  }
  #caseFacilityHeadline{
    margin: 0 -10px;
    padding: 20px 10px 60px;
    font-size: 16px;
  }
  #caseFacilityInnerUnit{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    flex-direction: column;
    flex-wrap: wrap;
  }
  #caseFacilityInnerUnit .txt{
    padding-right: 0;
  }
  #caseFacilityInnerUnit .txt #caseFacilityLogo,
  .caseFacilityInnerWide .caseFacilityLogo {
    text-align: center;
  }
  #caseFacilityInnerUnit .txt #caseFacilityLogo img,
  .caseFacilityInnerWide .caseFacilityLogo img{
    max-width: 60%;
    height: auto;
  }
  #caseFacilityInnerUnit .txt dl,
  .caseFacilityInnerWide dl{
    display: block;
    margin-top: 30px;
  }
  #caseFacilityInnerUnit .txt dl dt,
  .caseFacilityInnerWide dl dt{
    float: left;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  #caseFacilityInnerUnit .txt dl dd,
  .caseFacilityInnerWide dl dd{
    padding-left: 65px;
    margin-bottom: 0.5em;
  }
  #caseFacilityInnerUnit .txt dl dd a,
  .caseFacilityInnerWide dl dd a{
    text-decoration: none;
    color: #454545;
  }
  #caseFacilityInnerUnit .image{
    width: 100%;
    margin-top: 10px;
    text-align: center;
  }
  #caseFacilityInnerUnit .image img{
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 60vw;
  }
  .caseFacilityInnerWide{
    border-top:solid 1px #DFECF1;
    margin-top: 30px;
    padding-top: 30px;
  }
  .caseFacilityInnerWide dl{
    width: 100%;
    display: block;
  }
  #caseFacilityInner > p{
    line-height: 2em;
    margin-top: 20px;
  }

  /* #caseMember
  ----------------------- */
  #caseMember{
    background-color: #DFECF1;
    position: relative;
    padding: 55px 10px;
  }
  #caseMemberInner{
    box-shadow: 0px 0px 6px #0000001F;
    border: 1px solid #D6E3E5;
    border-radius: 7px;
    background-color: #fff;
    position: relative;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2;
  }
  #caseMemberInner .image{
    width: 100%;
  }
  #caseMemberInner .image img{
    width: 100%;
    height: auto;
  }
  #caseMemberInner .txt{
    width: 100%;
    line-height: 2em;
    font-size: 12px;
    text-align: left;
  }
  #caseMemberInner .txt h3{
    text-align: center;
    font-weight: bold;
    font-size: 3.4vw;
    margin-top: 20px;
    line-height: 1em;
  }
  #caseMemberInner .txt h3 span{
    font-weight: normal;
    font-size: 12px;
  }
  #caseMemberInner .txt p{
    margin-top: 1em;
  }
  /* #caseBack
  ----------------------- */
  #caseBack{
    padding: 10vw 0;
  }
  #caseInner{
    margin: 0 4vw;
    text-align: right;
  }
  #caseInner a{
    display: inline-block;
    position: relative;
    color: #1B94D4;
    line-height: 1em;
    font-size: 3.2vw;
    padding-right: 3.6em;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  #caseInner a::before,
  #caseInner a::after{
    content: "";
    display: block;
    position: absolute;
    background-color: #1B94D4;
    height: 1px;
  }
  #caseInner a::before{
    width: 8vw;
    right: 0.2em;
    top: 50%;
  }
  #caseInner a::after{
    width: 0.9em;
    right: 0.1em;
    top: 20%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

@media screen and (min-width: 769px) {
  /*  nav-gyokai
  ----------------------- */
  .nav-gyokai{
    background: #325092;
    padding: 30px;
  }
  .nav-gyokai ul li:nth-of-type(n+2){
    margin-left: 60px;
  }
  .nav-gyokai ul li a{
    color: #fff;
    text-align: center;
  }
  .nav-gyokai ul li a p{
    height: 120px;
    display: table-cell;
    vertical-align: middle;
    border-right: 1px solid #AAAAAA;
    padding-left: 20px;
    padding-right: 12px;
  }
  .nav-open{
    position: relative;
    margin-right: 15px;
  }
  .nav-open::after{
    content: '▼';
    display: block;
    position: absolute;
    width: 16px;
    height: 16px;
    top: -6px;
    bottom: 0;
    margin: auto;
    right: -20px;
    transition: .8s;
  }
  .nav-open:hover{
    cursor: pointer;
  }
}
.nav-gyokai{
  display: none;
}
@media screen and (max-width: 768px) {
  #gnavi > li.nav-open{
    padding-bottom: 3vw;
  }
  #gnavi > li.nav-gyokai{
    display: block;
    padding: 0;
    margin: 0;
    background: #F9F9F9;
    border: none;
    display: none;
  }
#gnavi li a{
    font-size: 1.6rem;
    width: 100%;
    height: 100%;
    display: inline-block;
}
#gnavi li a.flex{
  display: flex;
}
#gnavi li a:hover{
  border: none;
}
  li.nav-gyokai ul li{
    border-top: none;
    border-bottom: none !important;
    padding: 2vw 0;
    border-top: 1px solid #AAAAAA;
    width: 100%;
  }
  li.nav-gyokai ul li a{
    justify-content: flex-start;
  }
  li.nav-gyokai ul li a div:first-child{
    margin-left: 2vw;
  }
  li.nav-gyokai ul li a div:first-child img{
    height: 100px;
  }
  li.nav-gyokai ul li a div:last-child{
    margin-left: 4vw;
  }
  li.nav-gyokai ul li a div:last-child p{
    display: table-cell;
    vertical-align: middle;
    height: 100px;
  }
  #gnavi > li.nav-gyokai + li{
    margin-top: 0;
  }
}

/* footerInquiry */
#footerInquiry{
  background-image: url(/image/common/cont_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
#footerInquiry > .flex{
  padding: 120px 0 80px;
}
#footerInquiry > .flex .img{
  width: 60%;
  padding-right: 40px;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: flex;
  justify-content: flex-end;
}
#footerInquiry > .flex .img span{
  font-size: 18px;
  font-weight: bold;
  color: #325092;
}
#footerInquiry .inquiry{
  color: #fff;
  text-align: left;
  width: 40%;
}
#footerInquiry .inquiry p{
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: bold;
}

#footerInquiry .inquiry .inquiry01 a{
    color: #fff;
}
#footerInquiry .inquiry .inquiry01 .inquiryInnner{
  position: relative;
  background: #4DA3FF;
  padding: 60px 0 60px 40px;
  border-radius: 8px 0 0 8px;
}
#footerInquiry .inquiry .inquiry01 .inquiryInnner:hover{
  background-color: #fff;
  color: #4DA3FF;
  transition: .5s;
}
#footerInquiry .inquiry .inquiry01 .inquiryInnner::after{
  content: '▲';
  display: block;
  position: absolute;
  width: 60px;
  height: 60px;
  color: #4DA3FF;
  background: #fff;
  border-radius: 8px;
  transform: rotate(90deg);
  top: 0px;
  bottom: 0;
  margin: auto;
  right: 5%;
  text-align: center;
  padding-top: 15px;
}
#footerInquiry .inquiry .inquiry01 .inquiryInnner:hover::after{
  background: #4DA3FF;
  color: #fff;
  transition: .5s;
}
#footerInquiry .inquiry .inquiry02{
  margin-top: 20px;
  background: #325092;
  padding: 60px 0 60px 40px;
  border-radius: 8px 0 0 8px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#footerInquiry .inquiry .inquiry02 .txt02{
  margin-top: 30px;
  margin-left: 20px;
}
#footerInquiry .inquiry .inquiry02 .txt02 p{
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
@media screen and (min-width: 768px) {
  #footerInquiry .inquiry .inquiry02 .txt02 a{
    pointer-events: none
  }
}
#footerInquiry .inquiry .inquiry02 .txt02 p span{
  font-weight: normal;
  padding-right: 10px;
  font-size: 14px;
  position: relative;

}
#footerInquiry .inquiry .inquiry02 .txt02 p span::after{
  content: "";
  background-image: url(/image/common/phone.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 16px;
  height: 24px;
  position: absolute;
  top: 0;
  left: -20px;
}
@media screen and (max-width: 768px) {
  #footerInquiry{
    background-image: url(/image/common/cont_bg_sp.png);
    background-size: cover;
    background-repeat: no-repeat;
  }
  #footerInquiry > .flex{
    padding: 16vw 0;
    display: block;
  }
  #footerInquiry > .flex .img{
    width: 80%;
    margin: 0 auto 10vw;
    display: block;
    padding: 0;
  }
    #footerInquiry > .flex .img img{
      width: 100%;
      margin-top: 5vw;
  }
  #footerInquiry > .flex .img span{
    font-size: 2rem;
    font-weight: bold;
    color: #325092;
  }
  #footerInquiry .inquiry{
    color: #fff;
    text-align: left;
    width: 90%;
    margin-left: 40px;
    margin: 0 auto;
  }
  #footerInquiry .inquiry p{
    font-size: 2rem;
    margin-bottom: 5vw;
    font-weight: bold;
    text-align: center;
  }
  #footerInquiry .inquiry .inquiry01{
    background: #4DA3FF;
    padding: 5vw 3vw;
    border-radius: 8px;
  }
  #footerInquiry .inquiry .inquiry01 a{
      color: #fff;
  }

  #footerInquiry .inquiry .inquiry01 .inquiryInnner{
    position: relative;
padding: 0;
  }
  #footerInquiry .inquiry .inquiry01 .inquiryInnner::after {
      content: '▲';
      display: block;
      position: absolute;
      width: 10vw;
      height: 10vw;
      color: #4DA3FF;
      background: #fff;
      border-radius: 8px;
      transform: rotate(90deg);
      top: inherit;
      bottom: 0;
      margin: auto;
      right: 5%;
      text-align: center;
      font-size: 5vw;
      padding-top: 1vw;
  }
  #footerInquiry .inquiry .inquiry02{
    margin-top: 20px;
    background: #325092;
    padding: 5vw 3vw;
    text-align: center;
    border-radius: 8px;
    display: block;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #footerInquiry .inquiry .inquiry02 .txt02{
    margin-top: 30px;
    margin-left: 0;
  }
  #footerInquiry .inquiry .inquiry02 .txt02 p{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #325092;
    background: #fff;
    padding: 2vw 0;
    border-radius: 8px;
    font-size: 2.4rem;
  }
  #footerInquiry .inquiry .inquiry02 .txt02 p span{
    font-weight: normal;
    padding-right: 10px;
    font-size:1.4rem;
    position: relative;

  }
  #footerInquiry .inquiry .inquiry02 .txt02 p span::after{
    content: "";
    background-image: url(/image/common/phone_sp.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 16px;
    height: 24px;
    position: absolute;
    top: 0;
    left: -20px;
  }
}

/* ========================================================
.tabele
======================================================== */
#tableAreaInner{
  background: #F5F7FA;
  border-radius: 20px;
  width: 90%;
  margin: 0 auto;
  padding: 80px 0;
}
#tableArea .title{
  max-width: 1120px;
  margin: 0 auto 60px;
}
#tableArea table{
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 auto;

}
#tableArea table td{
  border: solid 1px #E2E8F0;
  vertical-align: middle;
    background: #fff;
}
#tableArea table tr:first-child td:nth-child(2){
  width: 280px;
}
#tableArea table tr:first-child td:nth-child(3),
#tableArea table tr:first-child td:nth-child(4){
  width: 220px;
  background: #EDEFF1;
  font-weight: bold;
}
#tableArea table td.empty{
  border: none!important;
  background: none;
}
#tableArea table .bd_top td{
  border-top: 2px solid #AAAAAA;
}
#tableArea table .bd_left{
  border-left: 2px solid #AAAAAA;

}
#tableArea table .bd_btm,
#tableArea table .bd_btm td{
  border-bottom: 2px solid #AAAAAA;
}
#tableArea table td:last-child{
  border-right: 2px solid #AAAAAA;
}
#tableArea table .bd_upper-left{
  border-radius: 8px 0 0 0;
}
#tableArea table .bd_upper-right{
  border-radius:  0 8px 0 0;
}
#tableArea table .bd_lower-left{
  border-radius:  0 0 0 8px;
}

#tableArea table .bd_lower-right{
  border-radius:  0 0 8px 0;
}
#tableArea table .ttl{
  font-weight: bold;
  font-size: 18px;
  width: 160px;
  letter-spacing: 0;
}
#tableArea table .sub_ttl{
  font-weight: bold;
  width: 235px;
  height: 60px;
}
#tableArea table .iris_cell{
background: #F6FBFF;
border-left: 4px solid #1F2F4A;
border-right: 4px solid #1F2F4A;
    color: #1F2F4A;
}
#tableArea table tr:first-child .iris_cell{
border-top: 4px solid #1F2F4A;
}
#tableArea table tr:last-child .iris_cell{
border-bottom: 4px solid #1F2F4A;
}
#tableArea table .txt{
  font-weight: bold;
}
#tableArea table .iris_cell:not(.txt){
  font-size: 24px;
}
#tableArea table span{
  font-size: 14px;
  font-weight: normal;
  display: block;
}
@media screen and (max-width: 768px) {
  #tableAreaInner{
    background: #F5F7FA;
    border-radius: 20px;
    width: 90%;
    margin: 0 auto;
    padding: 10vw 0;
  }
  #tableArea .title{
    max-width: 90%;
    margin: 0 auto 4vw;
  }
  #tableArea .table_plan{
    background: #F6FBFF;
    margin: 0 20px;
  }
  #tableArea .table_plan:nth-of-type(n+2){
    margin-top: 10px;
  }
  #tableArea .table_plan:nth-of-type(3){
    margin-bottom: 40px;
  }
  #tableArea .table_plan p{
    text-align: left;
    padding: 10px 12px;
    font-size: 1.4rem;
  }
  #tableArea .table_plan p span{
    font-size: 2rem;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 10px;
  }
  #tableArea .table_img img{
    width: 90%;
  }
  #tableArea .table_img img + img{
    width: 60%;
    margin-top: 5vw;
  }
  #tableArea .table_img .img{
    background: #fff;
    margin: 0 10px;
  }
  #tableArea .table_img .img h3{
        padding: 10px 0;
  }
}
/* title */
.title{
  text-align: left;
  margin-bottom: 40px;
}
.title h2{
  font-size: 36px;
  display: inline-block;
}
.title::before{
  content: "";
  display: inline-block;
  background-image: url(/image/top/ttl_icon_bl.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 26px;
  height: 20px;
  margin-right: 15px;
  margin-bottom: 5px;
}
.title.line02 h2{
  font-size: 36px;
  display: inline-block;
  margin-left: 40px;
}
.title.line02::before{
  content: "";
  display: inline-block;
  background-image: url(/image/top/ttl_icon_bl.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 26px;
  height: 20px;
  margin-right: 15px;
  margin-bottom: -35px;
}
@media screen and (max-width: 768px) {
  .title{
    text-align: left;
    margin: 0 auto 8vw;
    width: 90vw;
    position: relative;
  }
  .title h2{
    font-size: 2.2rem;
    display: inline-block;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    padding-left: 7vw;
  }
  .title::before{
    content: "";
    display: inline-block;
    background-image: url(/image/top/ttl_icon_bl.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 5vw;
    margin-bottom: -3px;
    margin-right: 0;
    margin-bottom: 0;
    position: absolute;
    top: 2vw;
    left: 0;
  }
  .title.line02 h2{
    font-size: 2.2rem;
    display: inline-block;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin-left: 0;
    letter-spacing: -1px;
  }
  .title.line02::before{
    content: "";
    display: inline-block;
    background-image: url(/image/top/ttl_icon_bl.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0;
    margin-bottom: 0;
    position: absolute;
    top: 2vw;
    left: 0;
  }
}
