@charset "utf-8";

/* reset */

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing:border-box;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{text-decoration:none}ins,mark{background-color:#ff9;color:#000}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/* default */

*{

  box-sizing:border-box;

}

html{

  font-size:16px;

}

@media screen and (max-width: 1120px) {

  html{

    font-size:14px;

  }

}

body {

  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;

  color: #333;

  font-size: 100%;

  line-height: 1.5;

  position: relative;

  overflow-x:hidden;

}



.mincho {

  font-family: serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;

  font-weight: bold;

}

strong{

  font-weight:700;

  color:inherit;

}

a {

  color: #1A0DAB;

}

a:hover {

  color: #259cf1;

  text-decoration: underline;

}

xmp{

  background-color:#eee;

  border:1px solid #ddd;

  max-width:100%;

  overflow-x:scroll;

  padding:1rem;

  font-size:.875rem;

}

.btn,

input[type="submit"].btn{

  color:#fff;

  background-color:#038ce2;

  text-decoration:none;

  display:inline-block;

  margin:.5rem;

  padding:.75rem 1.5rem;

  min-width:200px;

  text-align:center;

  border-radius:2em;

  transition:.4s;

  cursor:pointer;

  box-shadow: 0 3px 4px -1px rgb(0 0 0 / 24%);

}

.btn.small{

  padding:.25rem 1.5rem;

  min-width:auto;

}

.btn.large{

  padding:1rem 3rem;

  min-width: 300px;

  font-size:1.25rem;

}

.btn:hover,

input[type="submit"].btn:hover{

  box-shadow: none;

  text-decoration:none;

  color:#fff;

  background-color:#e85d7a;

}

.button{

  display: inline-block;

  position: relative;

  overflow:hidden;

  color: #fff;

  background-color: #3d70bb;

  border: solid 1px #3d70bb;

  box-shadow: 0 4px #174d8b;

  border-radius: 4px;

  padding: 0.8rem 1rem .6rem;

  line-height: 1;

  text-align: center;

  transition:.2s;

  text-decoration:none;

}

button.btn{

  padding: 0.8rem 1rem;

}

.button:hover{

  color:#fff;

  text-decoration:none;

  box-shadow: none!important;

  transform: translateY(4px);

}

.button::after,

.btn_flat::after,

a.arrow::after{

  z-index: -1;

  position: absolute;

  top: 50%;

  left: 50%;

  width: 20px;

  height: 20px;

  margin-left: -10px;

  margin-top: -10px;

  border-radius: 50%;

  transition: transform .7s;

  background-color: transparent;

  content: '';

}

.button:hover::after,

.btn_flat:hover::after,

a.arrow:hover::after{

  z-index: 0;

  background-color: rgba(255,255,255,0.2);

  -ms-transform: scale(100);

  transform: scale(100);

}

.button i{

  color:#fff;

  margin-right:.2em;

}

.button.pink{

  background-color: #fa3f5b;

  border: solid 1px #fa3f5b;

  box-shadow: 0 4px #cf364d;

}

.button.green{

  background-color: #419438;

  border: solid 1px #419438;

  box-shadow: 0 4px #327c39;

}

.button.orange{

  background-color: #fb9004;

  border: solid 1px #fb9004;

  box-shadow: 0 4px #b77d2d;

}

.button.disabled{

  background-color: #8b8b8b;

  border: solid 1px #8b8b8b;

  box-shadow: 0 4px #6b6b6b;

  pointer-events:none;

}

.btn_flat{

  padding: .7rem 1rem;

  font-size: .88rem;

  line-height: 1.33333;

  border-radius: 3px;

	min-width: none;

  display: inline-block;

  font-weight: bold;

  text-align: center;

  touch-action: manipulation;

  border: 1px solid transparent;

  -webkit-box-shadow: inset 0 0 2px #fff;

  box-shadow: inset 0 0 2px #fff;

  text-decoration: none;

  letter-spacing: .05em;

  color: #fff;

  background-color: #3d70bb;

  border: solid 1px #174d8b;

  position: relative;

  overflow:hidden;

}

.button.large_btn,

.btn_flat.large_btn{

  font-size:1.15rem;

  padding: .7rem 2rem;

}

@media screen and (max-width: 640px) {

  .btn_flat{

    min-width: none;

  }

}

.btn_flat.pink{

  background-color: #fa3f5b;

  border: solid 1px #cf364d;

}

.btn_flat.green{

  background-color: #419438;

  border-color: #327c39;

}

.btn_flat.orange{

  background-color: #fb9004;

  border: solid 1px #b77d2d;

}

.btn_flat.white{

  background-color: #ffffff;

  border: solid 1px #afafaf;

  color:inherit;

}

.btn_flat.white:hover{

  color:inherit;

}

.btn_flat.white i{

  color:#fa3f5b;

}

.btn_flat.disabled{

  background-color: #8b8b8b;

  border: solid 1px #8b8b8b;

  pointer-events:none;

}

.btn_flat:hover{

  color:#fff;

  text-decoration:none;

}

.btn_flat i{

  color:#fff;

}

::selection {

  color: #fff;

  background: #038ce2;

}

.btn_cv{

  display: block;

  background-color: #c0392b;

  width: auto;

  padding: 2rem 7rem 2rem 2rem;

  margin: 2rem auto;

  color: #fff;

  cursor: pointer;

  border-radius: 5px;

  transition: .4s;

  font-size:1.2rem;

  font-weight:bold;

  box-shadow: 0 4px #922a1f;

  position:relative;

  overflow:hidden;

}

.btn_cv:hover{

  box-shadow: none!important;

  transform: translateY(4px);

}

.btn_cv::before{

  color: #ffffff;

  position: absolute;

  font-family: "Font Awesome 5 Free";

  content: "\f0a9";

  font-weight: 700;

  font-size:1.5rem;

  right: 0;

  top:10%;

  width:5rem;

  height:80%;

  display: -webkit-flex;

  display: flex;

  -webkit-align-items: center;

  align-items: center;

  -webkit-justify-content: center;

  justify-content:         center;

  border-left: 2px groove #f14533;

}

.btn_cv::after{

  z-index: -1;

  position: absolute;

  top: 50%;

  left: 50%;

  width: 20px;

  height: 20px;

  margin-left: -10px;

  margin-top: -10px;

  border-radius: 50%;

  transition: transform .7s;

  background-color: transparent;

  content: '';

}

.btn_cv:hover::after{

  z-index: 0;

  background-color: rgba(255,255,255,0.2);

  -ms-transform: scale(100);

  transform: scale(100);

}

.btn_cv.pink{

  background-color: #fa3f5b;

  box-shadow: 0 4px  #cf364d;

}

.btn_cv.pink::before{

  border-color: #ff566f;

}

.btn_cv.blue{

  background-color: #3d70bb;

  box-shadow: 0 4px  #174d8b;

}

.btn_cv.blue::before{

  border-color: #4f8be4;

}

.btn_cv.orange{

  background-color: #fb9004;

  box-shadow: 0 4px  #b77d2d;

}

.btn_cv.orange::before{

  border-color: #f9b65a;

}

.btn_cv.green{

  background-color: #419438;

  box-shadow: 0 4px  #327c39;

}

.btn_cv.green::before{

  border-color: #50b346;

}

img {

  max-width: 100%;

  height: auto;

  display: block;

  margin: 0 auto;

}

.require {

  color: red;

}

ul li {

  list-style-type: none;

  margin: 0 0 .5em;

}

ul li:focus {

  outline-color: transparent;

}

main ul{

  background: none;

  border-radius: 0;

  box-shadow: none;

  padding-left:.5rem;

}

main ul li {

    list-style-type: none; /*点を非表示*/

    position: relative; /*基準位置*/

    padding-left: 0.6em;

}



.list li{

  padding-left:1.5rem;

  position:relative;

}



.list li::before{

    border-radius: 50%;

    width: 5px;

    height: 5px;

    display: block;

    position: absolute;

    left: 0;

    top: 0.65rem;

    content: "";

    background: #228ad8;

}

ol {

  padding: 1rem 0 1rem 1.5rem;

}

ol li {

  padding: 0 0 1em;

}

ul.inline li {

  display: inline-block;

  margin-right: 2.5em;

}

figcaption {

  margin-top: .5rem;

  font-size: .9rem;

  line-height: 1.5;

}

.lead {

  font-size: 1.8rem;

  line-height: 1.8;

}

i {

  color: #228ad8;

  padding-right:0.2rem;

}

i.white {

  color: #FFF;

}

.text_center{

  text-align:center;

}

.pc_text_center{

  text-align:center;

}

.text_right{

  text-align:right;

}

.pc_text_right{

  text-align:right;

}

@media screen and (max-width: 640px) {

  .pc_text_center{

    text-align:left;

  }

  .pc_text_right{

    text-align:left;

  }

}

.well{

  background-color:#F1F1F1;

  padding:1rem;

  margin:1rem 0;

}

.well.danger{

  background-color:#ffe6e6;

  color:#bf0000;

}

.well *:last-child{

  margin-bottom:0;

}

.well.border{

  background-color:transparent;

  border:1px solid #228ad8;

}

.highlight {

  background-color: #F8E9ED;

}

section.highlight{

  padding:4rem 0;

}

.container {

  max-width: 1240px;

  width: 100%;

  padding: 0 20px;

  margin:0 auto;

}

main section{

  padding: 1rem 0;

}

.main_contents p {

  line-height: 2;

  margin-bottom: 1rem;

}

.pc-text-center {

  text-align: center;

}

.box {

  padding:2rem 1.5rem;

  margin:2rem 0;

}

.box.gray{

  background-color:#f8f8f8;

  border:none;

  box-shadow:none;

}

.box.bule{

  background-color:#ddf5ff;

  border:none;

  box-shadow:none;

}

.box *:first-child,

.well *:first-child{

  margin-top:0;

}

.box *:last-child,

.well *:last-child{

  margin-bottom:0;

}

.box h3,

.well h3{

  background:none;

  padding:0;

  font-weight:700;

  color:#228ad8;

}

@media screen and (max-width: 640px) {

  .box {

    padding:2rem 1rem;

  }

}

section{

  padding:4rem 0;

}

@media screen and (max-width: 768px) {

  .container {

    padding:0 2.5vw;

  }

  .pc_only {

    display: none;

  }

}

@media screen and (min-width: 769px) {

  .sp_only {

    display: none;

  }

}

.xs_only{

  display:none;

}



.main_contents table{

  margin-bottom:1rem;

  width:100%;

  table-layout: fixed;

}

.main_contents table th{

  width:25%;

  min-width:10rem;

  font-weight:normal;

}

.main_contents table th,

.main_contents table td{

  border:1px solid #ddd;

  padding:1rem;

}



.main_contents table th{

  background-color:#f8f8f8;

  vertical-align: middle;

  text-align:center;

}

.check {

  margin-top:3rem;

  position: relative;

}



.check p {

  display: inline-block;

  position: absolute;

  top: -1.3em;

  left: 1rem;

  z-index: 10;

  color: #fff;

  background-color: #3d70bb;

  border-radius: 20px;

  padding: .2em 1em .3em 2.5em;

  overflow: hidden;

  border-left: none;

  line-height: 2;

  margin: 0;

}

.check p:before{

  position: absolute;

  left: 0.8em;

  top:0;

  font-family: "Font Awesome 5 Free";

  content: "\f0eb";

  font-weight: 700;

  font-size: 1.1rem;

}

.check.matome p:before{

  content: "\f46d";

}

.check.pink p:before{

  content: "\f06b";

  left:.6em;

  top:-.1em;

}

.cp_point li:before{

  color: #3d70bb;

  position: absolute;

  font-family: "Font Awesome 5 Free";

  content: "\f058";

  font-weight: 700;

  left: 0;

}

.matome .cp_point li:before{

  color:#da3c41;

}

.pink .cp_point li:before{

  color:#fa3f5b;

  content:"\f3a5";

}

.matome .cp_point {

  border: 3px double #da3c41;

    background-color: #fff8fb;

}



.check.matome  p {

  background-color: #da3c41;

}

.pink .cp_point {

  border: 3px double #fa3f5b;

    background-color: #fff8fb;

}

.pink .cp_point li i {

  color: #fa3f5b;

  position: absolute;

  top: .5em;

  left: 0;

}

.check.pink  p {

  background-color: #fa3f5b;

}

.check p span {

  position: absolute;

  top: 0em;

  left: 0.3em;

  width: 1.8em;

  text-align: center;

  color: #fff;

  font-size: 1.3rem;

}

.check p i {

  color:#fff;

}

.check li{

  margin-bottom:0.5rem;

}

@media (max-width: 640px) {

  table.responsive_stack, table.responsive_stack thead, table.responsive_stack tbody, table.responsive_stack tr, table.responsive_stack th, table.responsive_stack td {

    display: block;

    width: auto!important;

  }

  table.responsive_stack th {

    background-color: #F3F3F3;

    border-bottom: none!important;

    padding: .4rem;

    text-align: center;

    line-height: 1.5;

  }

  table.responsive_stack td {

    border-bottom: none!important;

  }

  table.responsive_stack {

    border-bottom: 1px solid #ddd;

  }

}

.orange_txt{

  color:#ff7f00;

}

.red_txt{

  color:red;

}

.blue_txt{

  color:blue;

}

.marker {

  font-size: 1.2rem;

  font-weight: bold;

  position: relative;

  background: linear-gradient(transparent 20%, #fbbdcd 80%);

  background-size: 100% 60%;

  background-position: left .5em;

  background-repeat: no-repeat;

}

.strong{

  color:#f00;

  font-weight:bold;

  font-size:1.3rem;

}

.wavy{

  text-decoration: underline wavy #fa3f5b;

  font-weight:bold;

  font-size:1rem;

}

/* for Microsoft Edge */

@supports (-ms-ime-align:auto) {

  .wavy {

    border-bottom: double 6px #fa3f5b;

  }

}

.dot {

  -webkit-text-emphasis: dot #fa3f5b;

  text-emphasis: dot #37ab9d;

  font-weight:bold;

  font-size:1rem;

}

.column_detail h2{

  margin:1.5rem 0 .5rem;

  clear:both;

}

.column_detail h3{

  clear:both;

}

.column_detail h2::after{

  background:url(../../img/icon_note.svg) no-repeat #327c39 center/50%;

}

.pull_left{

  float:left;

  padding: 0 .5rem .5rem 0;

  max-width:40%;

}

.pull_right{

  float:right;

  padding:0 0 .5rem .5rem ;

  max-width:40%;

}

.btn_area{

  clear:both;

}

/* animetion */

.img_slide_anim {

  position: relative;

  overflow: hidden;

  z-index: 0;

  transform: translateY(40px);

  opacity: 0;

  transition: 1s cubic-bezier(0.5, 0.1, 0.2, 1) 0.2s;

}

.img_slide_anim:nth-child(1) {transition-delay: 0.1s;}

.img_slide_anim:nth-child(2) {transition-delay: 0.3s;}

.img_slide_anim:nth-child(3) {transition-delay: 0.5s;}

.img_slide_anim:nth-child(4) {transition-delay: 0.7s;}

.img_slide_anim:nth-child(5) {transition-delay: 0.9s;}

.img_slide_anim:nth-child(6) {transition-delay: 1.1s;}

.img_slide_anim.imgStart {

  transform: translateY(0);

  opacity: 1;

}

@keyframes head_anim {

  0% {

    transform: translateY(-100%);

  }

  100% {

    transform: translateY(0);

  }

}

@-webkit-keyframes head_anim {

  0% {

    transform: translateY(-100%);

  }

  100% {

    transform: translateY(0);

  }

}

@-moz-keyframes head_anim {

  0% {

    transform: translateY(-100%);

  }

  100% {

    transform: translateY(0);

  }

}

@keyframes fadeIn {

  0% {

    opacity: 0;

  }

  100% {

    opacity: 1;

  }

}

@-webkit-keyframes fadeIn {

  0% {

    opacity: 0;

  }

  100% {

    opacity: 1;

  }

}

@-moz-keyframes fadeIn {

  0% {

    opacity: 0;

  }

  100% {

    opacity: 1;

  }

}

@keyframes fadeOut {

  0% {

    opacity: 1;

  }

  100% {

    opacity: 0;

  }

}

@-webkit-keyframes fadeOut {

  0% {

    opacity: 1;

  }

  100% {

    opacity: 0;

  }

}

@-moz-keyframes fadeOut {

  0% {

    opacity: 1;

  }

  100% {

    opacity: 0;

  }

}

@keyframes leftFade {

  0% {

    opacity: 0;

    transform: translateX(-40px);

  }

  100% {

    opacity: 1;

    transform: translateX(0px);

  }

}

@-webkit-keyframes leftFade {

  0% {

    opacity: 0;

    transform: translateX(-40px);

  }

  100% {

    opacity: 1;

    transform: translateX(0px);

  }

}

@-moz-keyframes leftFade {

  0% {

    opacity: 0;

    transform: translateX(-40px);

  }

  100% {

    opacity: 1;

    transform: translateX(0px);

  }

}

@keyframes bottomFade {

  0% {

    opacity: 0;

    transform: translateY(10px);

  }

  100% {

    opacity: 1;

    transform: translateY(0px);

  }

}

@-webkit-keyframes bottomFade {

  0% {

    opacity: 0;

    transform: translateY(10px);

  }

  100% {

    opacity: 1;

    transform: translateY(0px);

  }

}

@-moz-keyframes bottomFade {

  0% {

    opacity: 0;

    transform: translateY(10px);

  }

  100% {

    opacity: 1;

    transform: translateY(0px);

  }

}



/* end/animetion */



/* wave */

.wave01{

  background-color:#b6e1f1;

  position:relative;

  padding:4rem 0;

  margin:80px 0 26px;

}

.wave02{

  background-color:#eff3f6;

  position:relative;

  padding:4rem 0;

  margin:80px 0 26px;

}

.wave03{

  background-color:#fdfad9;

  position:relative;

  padding:4rem 0;

  margin:80px 0 26px;

}

.wave_top img{

  width: 100%;

  height: 40px;

  max-width: none;

  transform: translateY(-100%);

  position:absolute;

  top:0;

  left:0;

}

.wave_under img{

  position: absolute;

  width: 100%;

  height: 40px;

  max-width: none;

  transform: translateY(100%);

  position:absolute;

  bottom:0;

  left:0;

}

/* end/wave */



/* subvisual */



.subvisual {

  background: url(../img/sub.jpg) no-repeat;

  background-size: cover;

  background-position: center;

  height: 20vw;

  max-height: 440px;

  min-height: 260px;

  display: -webkit-flex;

  display: flex;

  align-items: center;

  position: relative;

  overflow:hidden;

  background-position:center;

  margin-top: 72px;

}

.subvisual.inner{

  display: -webkit-flex;

  display: flex;

  -webkit-align-items: center;

  align-items: center;

  -webkit-flex-wrap: wrap;

  flex-wrap: wrap;

}

.subvisual .sub_tit {

  display:inline-block;

  min-width:350px;

  text-align:left;

  background-color: rgba(0,0,0,0.4);

  vertical-align:middle;

  padding:2rem 1.5rem;

  position:relative;

}

@media screen and (max-width: 640px) {

  .subvisual .sub_tit {

    min-width:100%;

  }



}

.subvisual .sub_tit h1{

  font-size: 2.8rem;

  font-weight:900;

  color: #fff;

  letter-spacing: .1em;

  line-height:1;

}



.subvisual .sub_tit::after{

  content:"";

  position:absolute;

  top:0;

  left:0;

  margin-left:-50vw;

  display:block;

  width:50vw;

  height:100%;

  background-color:rgba(0,0,0,0.4);

}

.subvisual .sub_tit h1 small {

  font-size: 1.2rem;

  letter-spacing:0;

  display:block;

  width:100%;

  margin-bottom: 1rem;

  font-weight: 500;

  text-align: left;

}

.subvisual .sub_tit p{

  color:#fff;

  font-size: 1rem;

  line-height:1.8;

  margin-top: 2rem;

  margin-bottom:0;

  letter-spacing:.1em;

  max-width: 500px;

}

@media screen and (max-width: 1120px) {

  .subvisual {

    margin-top:60px;

  }

  .subvisual .sub_tit h1{

    font-size:2.4rem

  }

}

@media screen and (max-width: 640px) {

  .subvisual{

    min-height:200px;

  }

  .subvisual .sub_tit {

    padding:2rem 0;

  }

  .subvisual .sub_tit h1{

    font-size:7vw;

    letter-spacing: 0;

    line-height:1.2;

  }

  .subvisual .sub_tit h1 small {

    font-size:4vw;

    margin-bottom:.25em;

  }

  .subvisual .sub_tit p{

    font-size:1rem;

  }

  .subvisual h1::after{

    content:none;

  }

}



/* end/subvisual */

.hero img{

  width:100%;

}

/* breadcrumb */

.breadcrumb{

  margin-bottom:0!important;

  font-size:.88rem;

  background:none;

  margin-top: 72px;

}

.breadcrumb ul{

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  margin-left:.5rem;

}

.breadcrumb li{

  margin:0 .5rem;

  display: flex;

  align-items: center;

}

.breadcrumb li a{

  padding:.5rem 0;

  display:inline-block;

  color:inherit;

  text-decoration:none;

  margin-right:.75rem;

  max-width:9rem;

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;

}

.breadcrumb li a:hover{

  text-decoration:underline;

}

.breadcrumb li.is-active a{

  pointer-events:none;

}

.breadcrumb li::after{

  content:"";

  display:inline-block;

  width:.36rem;

  height:.36rem;

  border-right:1px solid #9a9a9a;

  border-bottom:1px solid #9a9a9a;

  transform:rotate(-45deg);

}

.breadcrumb li:last-child::after{

  content:none;

}

@media screen and (max-width: 1120px) {

  .breadcrumb{

    margin-top:60px;

  }

}



/************************************

form

*************************************/



/* reset */



button,

option,

select,

textarea,

input[type="button"],

input[type="submit"],

input[type="number"],

input[type="email"],

input[type="tel"],

input[type="text"],

input[type="select"],

input[type="option"],

input[type="password"]{

    -webkit-appearance: none;

    -moz-appearance: none;

    -ms-appearance: none;

    appearance: none;

    -webkit-border-radius: 0;

    -moz-border-radius: 0;

    -ms-border-radius: 0;

    border-radius: 0;

    border: none;

    outline: 0;

    margin: 0;

    background: #fff;

}

input:focus{

     box-shadow:none;

}



/* for firefox */

select {

    text-indent: 0.01px;

    text-overflow: '';

}

/* for ie10 ie11 ie系のプルダウンの矢印を消す ie9は非対応 */

select::-ms-expand {

    display: none;

}

textarea,

input[type="number"],

input[type="text"],

input[type="email"],

input[type="tel"],

input[type="password"]{

    width: 100%;

    padding: 1rem;

    font-size: 100%;

    border: 1px solid #ccc;

    box-shadow:none;

    margin:0;

  background:#fff;

}

textarea {

    height: 10em;

}



/* フォーカス時の色変更 */



textarea:focus,

input[type="tel"]:focus,

input[type="email"]:focus,

input[type="password"]:focus,

input[type="text"]:focus,

textarea:hover,

input[type="tel"]:hover,

input[type="email"]:hover,

input[type="password"]:hover,

input[type="text"]:hover,

.select select:hover{

  border: 1px solid #f84e79;

  box-shadow:none;

  background-color:#fff;

}

/* ラジオボタン */

.radio_area{

  display: flex;

  align-items: center;

  flex-wrap:wrap;

  margin:-0.25rem 0;

}

.radio_area label{

  display: flex;

  align-items: center;

  margin:.25rem 1.5rem .25rem 0;

  border:none;

}

.radio_area label input[type="radio"]{

  transform:scale(1.25);

  margin-right:.5rem;

}





/* チェックボックス */

.checkbox_area{

  display: flex;

  align-items: center;

  flex-wrap:wrap;

  margin:-0.25rem 0;

}

.checkbox_area label{

  display: flex;

  align-items: center;

  margin:.25rem 1.5rem .25rem 0;

  border:none;

}

.checkbox_area label input[type="checkbox"]{

  transform:scale(1.25);

  margin-right:.5rem;

}





.select {

    display: inline-block;

    position: relative;

    width: 100%;

    border: none;

}



.select::after {

    position: absolute;

    display: block;

    content: '';

    width: 0;

    height: 0;

    border-top: 6px solid transparent!important;

    border-left: 6px solid transparent!important;

    border-bottom: 6px solid transparent!important;

    border-right: 6px solid transparent!important;

    border-top: 6px solid #333!important;

    top: 50%!important;

    right: 13.5px!important;

    -webkit-transform: rotate(0deg)!important;

    transform: rotate(0deg)!important;

    margin-top: -3px!important;

    pointer-events: none;

}

.select select {

    width: 100%;

    font-size: 1.125rem;

    padding: 1rem 3rem 1rem 10px!important;

    border:1px solid #ddd;

    border-radius:0;

    position: relative;

    box-sizing:border-box;

}



/* ie9対策 */



/* Google Chrome, Safari, Opera 15+, Android, iOS */



::-webkit-input-placeholder {

    color: #ccc;

    font-size: 1.125rem;

}



/* Firefox 18- */



:-moz-placeholder {

    color: #ccc;

    opacity: 1;

    font-size: 1.125rem;

}



/* Firefox 19+ */



::-moz-placeholder {

    color: #ccc;

    opacity: 1;

    font-size: 1.125rem;

}



/* IE 10+ */



:-ms-input-placeholder {

    color: #ccc;

    font-size: 1.125rem;

}

label{

  display: flex;

  align-items: center;

  border:1px solid #ddd;

}

label + label,

.group + label{

  margin-top:1rem;

}

label input[type="number"],

label input[type="text"],

label input[type="email"],

label input[type="tel"],

label input[type="password"]{

  border:1px solid transparent;

  margin:0;

}

.group{

  position:relative;

  display: flex;

  flex-wrap:wrap;

  align-items: center;

  margin:-0.5rem;

}

.group label{

  margin:0.5rem;

}

.row{

  margin:0;

}

.row + .row{

  margin-top:.5rem;

}

.row label{

  border:none;

  margin:0;

}

.row .group{

  margin:0;

}

.row .group label{

  border:1px solid #ddd;

}

label span,

label b,

label button{

  background-color:#eee;

  height: 2.5rem;

  width: auto;

  padding: 0 0.8rem;

  line-height:2.5rem;

  font-weight: normal;

  display:inline-block;

  word-break:keep-all;

}

.group input{

    margin:0;

    width: auto;

}

@media screen and (max-width: 640px) {

  textarea, input[type="number"], input[type="text"], input[type="email"], input[type="tel"], input[type="password"]{

      max-width: 100%!important;

      width: 100%;

  }

  .group input{

      margin-right:0;

      max-width: 100%!important;

      width: 100%;

  }

}

.group_flex_nowrap{

  display:flex;

  align-items:center;

  margin:-.5rem;

}

.group_flex_nowrap input{

  width:auto;

  margin:.5rem;

}



/************************************

form_end

*************************************/



/* header */

header .inner{

  display: flex;

  align-items: center;

  justify-content:         space-between;

  width:100%;

}

header .inner .logo{

  padding:0.5rem 1rem 0;

  width: 353px;

}

header .cv_btn img{

  max-width:353px;

}

@media screen and (max-width: 768px) {

  header .inner .logo{

    padding:0.5rem 0;

    width:300px;

    margin:0 auto;

  }

}



/* end/header */

/* step */
.timeline-003 {
  display: flex;
  justify-content: center;
  list-style-type: none;
  padding: 0;
}

.timeline-003 li {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  color: #969da3;
  font-size: 28px;
}

.timeline-003 li.prev,
.timeline-003 li.current {
  color: #0d4b72;
}

.timeline-003 li::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-bottom: 6px;
  content: '';
  border: 2px solid #d6dde3;
  border-radius: 50%;
  background-color: #fff;
}

.timeline-003 li.prev::before,
.timeline-003 li.current::before {
  border-color: #0d4b72;
}

.timeline-003 li:not(:last-child)::after {
  position: absolute;
  top: 8px;
  left: 50%;
  z-index: -1;
  width: 100%;
  height: 2px;
  background-color: #d6dde3;
  content: '';
}

.timeline-003 li.current::before,
.timeline-003 li.prev::after {
  background-color: #0d4b72;
}

.timeline-003 li.prev, .timeline-003 li.current {
  color: #0d4b72;
  font-size: 28px;
  font-weight: bold;
}

.timeline-003 li.prev, .timeline-003 li.current {
  color: #0d4b72;
  font-size: 28px;
  font-weight: bold;
}

@media screen and (max-width: 768px){

  .timeline-003 {
    display: flex;
    justify-content: center;
    list-style-type: none;
    padding: 14px;
}

.timeline-003 li.prev, .timeline-003 li.current {
  color: #0d4b72;
  font-size: 17px;
  font-weight: bold;
}

.timeline-003 li {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  color: #969da3;
  font-size: 17px;
}




}


/* end/step */



/* hero */
.hero{
position: relative;
}


.hero .omega{
  position: absolute;
    width: 40%;
    right: 30%;
    top: 72%;
}

.cv{

  background-color:#E7F4FD;

  position:relative;

  padding:3rem 1rem;

}

.cv p{

  position:absolute;

  width:auto;

  text-align:center;

  font-size:1.5rem;

  font-weight:bold;

  top:1.7rem;

  left:50%;

  transform:translateX(-50%);

}

.cv p span{

  display:inline-block;

  padding:0.25rem 0;

  background:url(../img/line_bg03.png) repeat-x bottom left;

}

.cv .cv_btn{

  max-width:774px;

  margin:0 auto;

  padding:2rem 1rem 1rem;

}

.cv .cv_btn img{

  width:469px;

}

@media screen and (max-width: 768px) {

  .hero{
    position: relative;
    }

  .hero .omega {
    position: absolute;
    width: 70%;
    right: 15%;
    top: 59%;
}

  .cv{

    padding:9vw 3vw;

  }

  .cv p{

    width:100%;

    font-size:4.5vw;

    top:1em;

    left:50%;

    transform:translateX(-50%);

  }

  .cv .cv_btn img{

    width:80vw;

  }

}



/* end/hero */



/* commmon */

.cv_btn a{

  transition:.2s;

  display:block;

}

.cv_btn a:hover{

  opacity:.8;

  transform:translateY(-2px);

}

.tit_icon{

  width:118px;

  margin-bottom:1rem;

}

.maker_yellow{

  font-weight: bold;

  position: relative;

  display:inline;

  background: linear-gradient(transparent 80%, #FFEFA8 20%);

}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 5px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

h2{

  position: relative;
    color: #000000;
    font-size: 3vw;
    
}
h2:first-letter {
  color: #0011ff;
  font-size: 2em;
}

h3{

  font-size:2.4rem;

  line-height:1.35;

}

.list_circle{

  margin:0;

  padding:0;

}

.list_circle li{

  margin:0;

  padding:0 0 0 1em;

  position:relative;

}

.list_circle li::before{

  content:'';

  width:0.4em;

  height:0.4em;

  display:inline-block;

  background-color:#1F2E78;

  border-radius:50%;

  position:absolute;

  top:0.5em;

  left:0.5em;

  transform:translate(-50%);

}

.text_link{

  font-weight:bold;

  text-decoration:none;

  display:inline-block;

  transition:.2s;

}

.text_link:hover{

  text-decoration:none;

  color:#1A0DAB;

  opacity:.8;

  transform:translateY(-2px);

}

.text_link::before{

  content:url(../img/txt_link_icon.svg);

  display:inline-block;

  margin-right:0.25rem;

}

@media screen and (max-width: 768px) {

  .tit_icon{

    width:20vw;

  }

  h2{

    font-size: 6vw;

    line-height:1.5;

  }


  h3{

    font-size:5vw;

  }

}

/* end/commmon */



/* sec01 */

.sec01 {

 

  width:100%;

  left:0;

  margin: 0 auto;
  background-color: #dedee6;


}

.shinseimore img{

  max-width: 70%;

  padding: 33px;
  
}

.sec01 .container p{
  font-size: 23px;

  font-weight: bold;

  text-align: center;

  font-family: BIZ UDPゴシック;

}



.sec01 .shinseimore{

    

    padding-top: 15px;


}


.sec01 .seoption{

  max-width: 100%;

  background: url(../img/bg1.png) no-repeat;
    background-size: contain;

}
.sec01 .container ul{
  display: flex;
  justify-content: space-between;
  text-align: center;
  padding-top: 50px;
}

.sec01 .container ul p{
  font-size: 24px;
    margin-top: 10%;
}

.sec01 .container .cont_point_img{

  width: 70%;

  margin: 0 auto;
}


@media screen and (max-width: 768px) {

  .shinseimore img{

    max-width: 100%;

    padding: initial;

    margin-bottom: 23px;
    
  }

  .sec01 .container ul{

    display: block;
    justify-content: space-between;
    text-align: center;
    padding-top: 50px;
  
  }

  .sec01 .seoption{
    max-width: 100%;
    background: url(../img/bg02.png) no-repeat;
    background-size: contain;
}

  .sec01 .container li{
  
    display: flex;
    max-width: 80%;
    margin: 0 auto;

  }

  .sec01 .container ul p{
  
    margin: 0 auto;
    margin-top: 69px;
    font-size: 17px;
}



.sec01 .container .cont_point_img {
  width: 45%;
  margin: 0 auto;
}


  .sec01 .container p {
    font-size: 18px;

    font-weight: bold;

    text-align: center;

}


  .sec01 {

    background:none;

    flex-direction:column;

  }

  .sec01 {

    position:relative;

    width:100%;

    left:0;

    z-index:10;

  }

  .sec01  ul{
    display: flex;
}


.sec01  ul p {
  font-size: 134%;
  margin-top: 13%;
  line-height: 36px;
}

  .sec01  img{

    width: 100%;
  
  }

 

}

/* end/sec01 */





/* sec02 */

.sec002{

  position: relative;
  width: 100%;
  background-color:#E6E6E6;
}
.sec002 .container{
  position: relative;
  width: 100%;
  margin: 0 auto;
  }

  .sec002 .top02 img{

    max-width: 50%;
    height: auto;
    display: block;
    margin: 0 auto;

  }

  .sec002 .cv_btn2 {
    max-width: 45%;
    margin: 0 auto;
}

.sec002 .sec02__txt2{

  margin-left: 48%;
    font-size: 1.5vw;
    font-weight: bold;
}

.sec002 .title002 {
  position: relative;
    text-align: center;
    margin: 0 auto;
    font-size: 2.5vw;
    font-weight: bold;
    width: 72%;
    padding: 0.3em 0 0.2em 1em;
    border-bottom: 3px solid #ff0000;
    color: #333333;
    white-space: nowrap;
    -webkit-box-reflect: unset;
    margin-top: 5%;
    margin-bottom: 7%;
}

.sec002 .title002::before {
  position: absolute;
  top: 0;
  left: .3em;
  transform: rotate(55deg);
  height: 11px;
  width: 12px;
  background: #ff0000;
  content: '';
}

.sec002 .title002::after {
  position: absolute;
  transform: rotate(15deg);
  top: .6em;
  left: 0;
  height: 8px;
  width: 8px;
  background: #ff0000;
  content: '';
}

.sec002 ul{

    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}

.sec002 .nagare{

  position: relative;
  

}

.sec002 .stage {
  position: absolute;
  font-size: 1.5vw;
  
  font-family: ui-sans-serif;
  top: 23%;
  right: 14%;
}


@media screen and (max-width: 768px) {

  .sec002 .top02 img{

    max-width: 100%;
    height: auto;
    display: block;
    margin-left: 0%;

  }

  .sec002 .top02{
  
    margin-top: 5%;
  
  }

  .sec002 .title002 {
    position: relative;
    text-align: center;
    margin: 0 auto;
    font-size: 4.5vw;
    font-weight: bold;
    width: 75%;
    padding: 0.3em 0 0.2em 1em;
    border-bottom: 3px solid #ff0000;
    color: #333333;
    white-space: nowrap;
    -webkit-box-reflect: unset;
    margin-top: 13%;
    margin-bottom: 5%;
}

  .sec002 .cv_btn2 {
    max-width: 45%;
    margin: 0 auto;
}

.sec002 .sec02__txt2 {
  font-size: 3vw;
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
}

  .sec002 .stage {
    position: absolute;
    font-size: 3vw;
    font-weight: 500;
    font-family: ui-sans-serif;
    top: 16%;
    right: 14%;
}



}

/* end/sec02 */





/* sec03 */

.sec03{
background-color: #dedee6;
position: relative;
}

.sec03 h2 {
  position: relative;
  color: #000000;
  font-size: 3vw;
  left: 8%;
}


.sec03 .cv_btn2 {
  position: absolute;
    max-width: 29%;
    right: 8%;
    top: 3%;
    z-index: 2;
}

.sec03 .container{
position: relative;
width: 100%;
margin: 0 auto;
}

.sec03 .case_list{display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    margin-top: 6%;
}

.sec03 .case_list li{
  width: 41%;
    position: relative;
    margin-bottom: 5%;
}

.sec03 .case_txt {
  position: absolute;
  top: 66%;
  left: 2%;
  width: 100%;
  font-size: 32px;
  text-align: center;
  font-weight: bold;
}

.sec03 .case_in{
  margin-bottom: 3%;
  
  }


@media screen and (max-width: 1240px) {



  .sec03 .case_txt {
    position: absolute;
    top: 66%;
    left: 1%;
    width: 100%;
    font-size: 2.5vw;
    text-align: center;
    font-weight: bold;
}

}

@media screen and (max-width: 960px) {

  

  .sec03 .case_txt {
    position: absolute;
    top: 66%;
    left: 1%;
    width: 100%;
    font-size: 2.5vw;
    text-align: center;
    font-weight: bold;
}

}

@media screen and (max-width: 768px) {

  .sec03 h2 {
    position: relative;
    color: #000000;
    font-size: 6vw;
    line-height: 1.5;
    margin-top: 15%;
    left: 0%;
}

.sec03 .cv_btn2 {
  position: absolute;
    max-width: 45%;
    top: 4%;
}


  .sec03 .case_txt {
    position: absolute;
    top: 66%;
    left: 3%;
    width: 100%;
    font-size: 2.5vw;
    text-align: center;
    font-weight: bold;
}

.sec03 .case_list li {
  width: 49%;
  position: relative;
  margin-bottom: 5%;
}

}


 

/* end/sec03 */




/* sec04 */

.sec04{

  background-color:#E6E6E6;
  position: relative;

}

.sec04 h2 {
  position: relative;
    color: #000000;
    font-size: 3vw;
    left: 8%;
}


.sec04 .container{
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.sec04 .cv_btn2{
  position: absolute;
    max-width: 29%;
    right: 8%;
    top: 5%;
    z-index: 2;

}

.sec04 .Voice{

 
  display: flex;
  margin-top: 6%;
  justify-content: space-evenly;
  text-align: center;

}

.sec04 .Voice li{


  background-color: #FFF;

  max-width: 30%;

  padding-left: unset;

  box-shadow: 2px 2px 50px #B8C1FF;
    opacity: 1;


}

.sec04 .voice_in{

  font-size: 27px;
  font-weight: bold;
  padding: 14px;

}

.sec04 .voice_in2{

  font-size: 19px;
  font-weight: 500;
  padding: 14px;

}

@media screen and (max-width: 768px) {

  .sec04 h2{
    position: relative;
    color: #000000;
    left: 0%;
    font-size: 6vw;
    line-height: 1.5;
    margin-top: 15%;
  
  }

  .sec04 .cv_btn2 {
    position: absolute;
    max-width: 45%;
    right: 7%;
    top: 2%;
    z-index: 2;
}

  .sec04 .Voice {
    display: block;
    margin-top: 6%;
    justify-content: space-evenly;
    text-align: center;
}

.sec04 .Voice li {
  background-color: #FFF;
    max-width: 90%;
    margin: 0 auto;
    margin-bottom: 35px;
    box-shadow: 2px 2px 50px #B8C1FF;
    opacity: 1;
}

}

/* end/sec04 */





/* sec05 */

.sec05{

  background-color:#dedee6;
  position: relative;

}

.sec05 h2 {
  position: relative;
    color: #000000;
    font-size: 3vw;
    left: 8%;
}


.sec05 .container{
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.sec05 .cv_btn2{
  position: absolute;
    max-width: 29%;
    right: 8%;
    top: 5%;
    z-index: 2;

}

.sec05 .teacher{

  display: flex;
  margin-top: 6%;
  justify-content: space-evenly;
  text-align: left;

}

.sec05 .teacher h3{

  text-align: center;
  padding-bottom: 34px;
}

.sec05 .teacher picture{
  max-width: 40%;
}

.sec05 .teacher li{

  position: relative;

  max-width: 41%;

  padding: 16px;

  background-color: #FFFFFF ;

  box-shadow: 2px 2px 50px #B8C1FF;

  opacity: 1;

}

.sec05 .teacher .name_txt{
  display: flex;

}

.sec05 .name_tag{
  font-weight: 500;
  padding-left: 12px;
}

.sec05 .tag1{

  font-weight: 500;
  font-size: 25px;
}

.sec05 .txt_in p{
padding: 12px;

}


@media screen and (max-width: 768px) {

  .sec05 h2 {
    position: relative;
    color: #000000;
    font-size: 6vw;
    left: 0%;
}

.sec05 .teacher h3 {
  text-align: center;
  padding: 12px;
}


 .sec05 h3{

  font-size: 8vw;

}

.sec05 .teacher {
  display:block;
  margin-top: 6%;
  justify-content: space-evenly;
  text-align: left;
}

.sec05 .teacher li {
  position: relative;
    padding: 9px;
    background-color: #FFFFFF;
    box-shadow: 2px 2px 50px #B8C1FF;
    opacity: 1;
    max-width: 90%;
    margin: 0 auto;
    margin-bottom: 35px;
}

.sec05 .tag1 {
  font-weight: bold;
  font-size: 15px;
}

.sec05 .txt_in p {
  padding: 7px;
    font-size: 13px;
}

.sec05 .cv_btn2{

  z-index: 2;
  position: absolute;
  max-width: 45%;
  top: 3%;
  left: 47%;
}

}


@media screen and (max-width: 960px) {

  .sec05 .tag1 {
    font-weight: bold;
    font-size: 18px;
}




}

/* end/sec05 */


/* sec09 */

.sec09 {

  background-color:#FFFCF3;

}

.sec09 .inner{

  margin:3rem 0 0;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

}

.sec09 .inner .img{

  width:440px;

}

.sec09 .inner .profile_area{

  width:calc(100% - 480px);

}

.sec09 .inner .profile_area .profile{

  background-color:#fff;

  box-shadow: 0 3px 9px 3px rgb(0 0 0 / 10%);

  margin:2rem 0 0 2rem;

  padding:2rem 2rem 2rem 9rem;

  position:relative;

}

.sec09 .inner .profile_area .name_area{

  background-color:#1F2E78;

  position:absolute;

  top:-2rem;

  left:-2rem;

  display: flex;

  flex-direction:column;

  justify-content: space-between;

  padding:1rem;

  color:#fff;

}

.sec09 .inner .profile_area .name_area .name{

  font-size:1.5rem;

  font-weight:bold;

}

.sec09 .inner .profile_area .keireki{

  font-size:1.25rem;

  line-height:2;

}

.sec09 .inner .profile_area p{

  font-size:1.25rem;

  line-height:2;

  margin:1em 0;

}

.sec09 .other{

  background-color:#fff;

  box-shadow: 0 3px 9px 3px rgb(0 0 0 / 10%);

  margin:3rem 0 0;

  padding:2rem 3rem;

}

.sec09 .other h3{

  font-size:1.5rem;

  margin-bottom:0.5em;

}

.sec09 .other ul{

  margin:0;

  padding:0;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

}

.sec09 .other ul li{

  width:calc(50% - 1rem);

  font-size:1.125rem;

  margin:0.25em 0;

}

.sec09 .other ul li::before{

  background-color:#1F2E78;

}

@media screen and (max-width: 960px) {

  .sec09 .inner{

    flex-direction:column;

  }

  .sec09 .inner .img{

    width:100%;

    margin:0 auto 2rem;

    max-width:240px;

  }

  .sec09 .inner .profile_area{

    width:100%;

  }

  .sec09 .inner .profile_area .profile{

    box-shadow: 0 3px 9px 3px rgb(0 0 0 / 10%);

    margin:2rem 0 ;

    padding:1.5rem 1.5rem 1.5rem 11rem;

  }

  .sec09 .inner .profile_area .name_area{

    top:0;

    left:0;

    justify-content:center;

    padding:1rem;

    height:100%;

  }

  .sec09 .inner .profile_area .name_area .name{

    font-size:1.5rem;

  }

  .sec09 .inner .profile_area .keireki{

    font-size:1.125rem;

  }

  .sec09 .inner .profile_area p{

    font-size:1.125rem;

  }

  .sec09 .other{

    margin:2rem -2.5vw 0;

    padding:2rem 2.5vw;

  }

  .sec09 .other h3{

    font-size:1.5rem;

  }

  .sec09 .other ul li{

    width:100%;

    font-size:1.125rem;

    margin:0.25em 0;

  }

}

/* end/sec09 */



/* sec10 */

.sec10 {

  background:url(../img/note_bg.png) repeat;

}

.sec10 .flex{

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  justify-content: space-between;

}

.sec10 .flex .item{

  width:calc(50% - 2rem);

}

.sec10 .flex .item h2{

  color:#333;

  background:none;

  font-size:2.4rem;

}

.sec10 .flex .item dl{

  background-color:#fff;

  box-shadow: 0 3px 9px 3px rgb(0 0 0 / 10%);

  padding:2rem;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  line-height:2;

}

.sec10 .flex .item dl dt{

  width:7rem;

  font-weight:bold;

  margin:1rem 0;

}

.sec10 .flex .item dl dd{

  width:calc(100% - 8rem);

  margin:1rem 0;

}

.sec10 .flex .item.pc_only img{

  border-radius:15px;

}

@media screen and (max-width: 768px) {

  .sec10 .inner{

    max-width:500px;

    margin:0 auto;

    background-color:#fff;

    box-shadow: 0 3px 9px 3px rgb(0 0 0 / 10%);

  }

  .sec10 .flex .item{

    width:100%;

  }

  .sec10 .flex .item h2{

    max-width:500px;

    margin:0 auto;

    display:block;

  }

  .sec10 .flex .item dl{

    box-shadow: none;

    padding:1rem;

  }

  .sec10 .flex .item dl dt{

    width:6rem;

    margin:0.5rem 0;

  }

  .sec10 .flex .item dl dd{

    width:calc(100% - 7rem);

    margin:0.5rem 0;

  }

}

/* end/sec10 */







/* sec11 */

.sec11 {

  padding:2rem 0;

}

.sec11 {

  background-color:#E6E6E6;

}

.sec11 h2{

  font-size:1.5rem;

  color:#333;

  padding:0.25rem 0;

}

.sec11 .lead{

  display: flex;

  align-items: center;

  justify-content: center;

  line-height:1.5;

  margin:1em 0;

  font-weight:bold;

  position:relative;

}

.sec11 .lead p{

  text-align:center;

  margin:0 1rem;

}

.sec11 .lead img{

  margin:0;

}

.sec11 .cv_btn img{

  width:469px;

}

@media screen and (max-width: 768px) {

  .sec11 h2{

    font-size:3.5vw;

  }

  .sec11 .lead{

    font-size:4.5vw;

  }

  .sec11 .lead p{

    text-align:center;

    margin:0 1em;

  }

  .sec11 .lead img{

    margin:0;

    width:9vw;

  }

  .sec11 .cv_btn img{

    width:80vw;

  }

}

/* end/sec11 */

.copyright{

  padding:1rem;

  text-align:center;

}































/* contactform */

.contactform {

  background-color:#178bdd;

}



.contactform .icon_tit .icon {

  background-color:#dbf0f7;

  width:52px;

  height:52px;

  display:flex;

  align-items:center;

  justify-content:center;

  border-radius:50%;

  margin:0 auto;

  position:relative;

}

.contactform .icon_tit .icon::after{

  content:'';

  position:absolute;

  border-top: 7px solid transparent;

  border-bottom: 7px solid transparent;

  border-left: 21px solid #dbf0f7;

  transform:rotate(90deg) translateX(69%);

  bottom:0;

}

.contactform .icon_tit .icon img{

  max-width:30px;

  max-height:30px;

}

.contactform .icon_tit h2{

  color:#fff;

  text-align:center;

  font-size:2rem;

  margin:1em 0;

}

.contactform .lead_area{

  display:flex;

  align-items:center;

  flex-direction:row-reverse;

  flex-wrap: wrap;

  justify-content: center;

}

.contactform .lead_area .comment{

  width:320px;

  margin-right:4rem;

}

.contactform .lead_area .lead{

  font-weight:700;

  color:#fff;

}

.contactform .lead_area .lead strong{

  color:#eeca48;

}

.contactform .formarea{

  background-color: #eff3f5;

  padding: 4rem;

  border-radius: 20px;

}

.contactform .formarea dl{

  display: flex;

  flex-wrap: wrap;

  font-size:1.125rem;

}

.contactform .formarea dl dt{

  width:300px;

  padding-right:4rem;

  text-align:right;

}

.contactform .formarea dl dt .must{

  display:inline-block;

  background-color:#228ad8;

  padding:1px 8px;

  font-size:1rem;

  color:#fff;

  margin-left:0.5rem;

}

.contactform .formarea dl dd{

  max-width:500px;

  width:100%;

  margin-bottom: 2rem;

}

.contactform .privacypolicy{

  background-color:#fff;

  padding:2rem;

  font-size:1.125rem;

  line-height:1.75;

}

.contactform .privacypolicy .checkbox_area{

  justify-content: center;

  margin-top:0.5rem;

}

.contactform .privacypolicy .checkbox_area label{

  margin:0;

}

.contactform .formbutton{

  margin:2rem 0 0;

  text-align:center;

}

.contactform input#submit {

  -webkit-appearance: none;

  background: #228ad8;

  color: #fff;

  font-size: 1.125rem;

  padding: 1.25rem 0;

  font-weight: 700;

  height: auto;

  width: 100%;

  max-width:420px;

  border-radius: 40px;

  transition:.2s;

  cursor:pointer;

  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;

}

.contactform input#submit:hover{

  background: #32a7ff;

}

@media screen and (max-width: 960px) {

  .contactform .formarea dl{

    font-size:1.125rem;

  }

  .contactform .formarea dl dt{

    width:100%;

    padding-right:0;

    text-align:left;

    margin-bottom:0.5rem;

  }

  .contactform .formarea dl dd{

    max-width:100%;

  }

  .contactform .privacypolicy{

    padding:2rem 1.5rem;

    font-size:1rem;

  }

}

@media screen and (max-width: 768px) {

  .contactform .icon_tit h2{

    font-size:1.25rem;

  }

}

@media screen and (max-width: 640px) {

  .contactform .formarea{

    padding:4rem 2rem;

  }

  .contactform .lead_area .lead{

    font-size:1.5rem;

    margin-bottom:1rem;

  }

}

/* end/contactform */



.radio_label{

  display: inline-block;

  border:none;

  margin:0 0 0 0;

}

.radio_label:last-child{

  margin:0 0 0 3rem;

}

.input_label{

  display: inline-block;

  border:none;

  margin:0 0 0 1rem;

}

.input_label input[type="text"]{

  margin-right:0.5em;

}

.radio_label:hover { cursor: pointer; }

.radio_label input { visibility: hidden;position:absolute;width:1px!important;height:1px;display:block; }

.radio_label input+.dummy {

  width: 20px;

  height: 20px;

  border: 1px solid #333;

  border-radius: 50%;

  display: inline-flex;

  justify-content: center;

  align-items: center;

  vertical-align: text-top;

  padding:0;

  background-color:#fff;

}

.radio_label span{

  background:none;

  padding:0;

}

.radio_label input + .dummy:after {

  transform:scale(0);

  transition:.2s;

  content: "";

  width: 70%;

  height: 70%;

  background-color: #333;

  border-radius: 50%;

}

.radio_label input:checked + .dummy:after {

  transform:scale(1);

}

.simulation header {

  position:relative;

}

.simulation header .logo {
  width: auto;
  padding: 2rem 2rem;
  z-index: 5;
}

.simulation header .logo img{

  width: 228px;

}

.simulation header .tit{

  position:absolute;

  width:100%;

}

.simulation header .tit .sp{

  display:none;

}


.simulation .sec01{
  width: 100%;
  left: 0;
  margin: 0 auto;
  background-color: #ffffff;

}

.simulation .sec01 h2:first-letter {
  color: #000000;
  font-size: 1em;
}



.simulation_inner {

  max-width:960px;

  margin:3rem auto;

}

.simulation_inner h3{

  font-size:1.5rem;

  padding-left:0.25em;

  border-left:15px solid #1F2E78;

  margin-bottom:1rem;

  text-align: left;

}


.simulation_inner .accordion-002 {
  max-width: 960px;
  margin-bottom: 7px;
  border: 2px solid #007ad1;
  border-radius: 5px;
}
.accordion-002 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2214%22%20cy%3D%2214%22%20r%3D%2214%22%20style%3D%22fill%3A%23007ad1%3B%22%2F%3E%0A%3C%2Fsvg%3E');
  background-position: right calc(2em - 7px) center;
  background-size: 22px;
  background-repeat: no-repeat;
  color: #007ad1;
  font-weight: 600;
  cursor: pointer;
}

.accordion-002 summary::-webkit-details-marker {
  display: none;
}

.accordion-002 summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 5px;
  height: 5px;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  content: '';
  transition: transform .3s;
}

.accordion-002[open] summary::after {
  transform: rotate(225deg);
}

.accordion-002 p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0 2em 1.5em;
  color: #050505;
  transition: transform .5s, opacity .5s;
}

.accordion-002[open] p {
  transform: none;
  opacity: 1;
  font-size: 17px;
  font-weight: 400;
  text-align: left;

}

.accordion-002[open] .textline {
  border-bottom: inset;
    border-color: #0068ff;


}



.simulation_inner .input_area{

  background-color:#dedee6;

  padding:1rem;

  margin:1rem 0 2rem;

  display: flex;

  align-items: center;

}

.simulation_inner .input_area input{

  width:5rem;

  margin-right:0.5em;

}

.simulation .arrow p{

  font-size:2rem;

  text-align:center;

  font-weight:bold;

  color:#1F2E78;

  margin:1em 0;

}

.simulation button:not(.form_btn){

  display:block;

  margin:0 auto;

  color:#fff;

  font-weight:bold;

  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;

  background: linear-gradient(to bottom, #5473B2, #27427B);

  font-size:1.5rem;

  padding:1em;

  width:360px;

  max-width:100%;

  border-radius:10px;

  transition:.2s;

}

.simulation button:hover{

  transform:translateY(-2px);

  opacity:0.8;

}

@media screen and (max-width: 1200px) {

  .simulation header .tit img{

    width:400px;

  }

}

@media screen and (max-width: 1000px) {

  .simulation header .tit .sp{

    display:block;

  }

  .simulation header .tit .pc{

    display:none;

  }

  .simulation header .logo {

    padding:0.5rem;

    margin:0;

    z-index: 5;
  }

  .simulation header .logo img{

    width:161px;

  }

  .simulation header .tit{

    display:flex;

    justify-content:flex-end;

  }

  .simulation header .tit div{

    width:200px;

    max-width:calc(100% - 200px);

    margin:0 1rem 0 0;

  }

  .simulation header .tit img{

    max-width:100%;

    width:290px;

    margin:0;

    float:right;

  }

}

@media screen and (max-width: 768px) {

  .simulation h2{

    font-size:5.5vw;

  }

  .simulation_inner h3{

    font-size:4vw;

    border-left:10px solid #1F2E78;

    margin-bottom:1em;

  }

  .simulation .arrow p{

    font-size:5.5vw;

  }

  .simulation_inner .input_area{

    padding:0.5em 1em;

    margin:1rem 0 2rem;

    background-color: #e4e4e4;

  }

}

.simulation.result.sec01 h2{

  background:none;

  text-decoration:underline;

  line-height:1.5;

}

.total_price{

  font-weight:bold;

  font-size:3rem;

  text-align:center;

  background-color:#FFFAE5;

}

.total_price span{

  font-size:7rem;

  color:#1F2E78;

}

.simulation.result.sec01 .none{

  background-color:#FFFCF3;

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  justify-content: space-between;

  padding:2rem;

  margin-bottom:3rem;

}

.simulation.result.sec01 .simulation_inner{

  margin-bottom:0;

}

.simulation.result.sec01 .none .img{

  width:238px;

}

.simulation.result.sec01 .none .txt{

  width:calc(100% - 271px);

}

.simulation.result.sec01 .none .txt p{

  font-size:1.25rem;

  line-height:2;

}

.simulation.result.sec01 .none .txt p.lead{

  font-size:1.5rem;

  font-weight:bold;

  color:#1F2E78;

  text-decoration:underline;

  margin-top:1em;

}

.simulation.result.sec01 .arrow02 {

  text-align:center;

}

.simulation.result.sec01 .arrow02 img{

  margin:2rem auto;

}

.simulation.result.sec01 .arrow02 p{

  font-size:2rem;

  font-weight:bold;

  padding-bottom:0.25em;

  background:url(../img/line_bg03.png) repeat-x bottom left;

  display:inline-flex;

  margin-bottom:2rem;

}

@media screen and (max-width: 768px) {

  .total_price{

    font-size:6.5vw;

  }

  .total_price span{

    font-size:13vw;

  }

  .simulation.result.sec01 .arrow02 {

    text-align:center;

  }

  .simulation.result.sec01 .arrow02 img{

    margin:2rem auto;

    width:13vw;

  }

  .simulation.result.sec01 .arrow02 p{

    font-size:4.5vw;

    margin-bottom:1em;

  }

  .simulation.result.sec01 .none{

    padding:8vw 3vw;

  }

  .simulation.result.sec01 .none .img{

    width:100%;

  }

  .simulation.result.sec01 .none .txt{

    width:100%;

  }

  .simulation.result.sec01 .none .txt p{

    font-size:4vw;

    line-height:1.75;

  }

  .simulation.result.sec01 .none .txt p.lead{

    font-size:5vw;

  }

}

.simulation.result.sec02{

  background:#E7F4FD;

}

.simulation.result.sec02 .simulation_inner{

  max-width:none;

}

.simulation.result.sec02 .item{

  background-color:#fff;

  margin-bottom:3rem;

  padding:2.5rem 3rem;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

}

.simulation.result.sec02 .item .left{

  width:50%;

  padding-right:2rem;

}

.simulation.result.sec02 .item .right{

  width:50%;

  border-left:1px solid #C4C4C4;

  padding-left:2rem;

}

.simulation.result.sec02 .item h3{

  border-left: 12px solid #1F2E78;

  font-size:1.85rem;

  line-height:1.2;

  margin-bottom:0.75em;

}

.simulation.result.sec02 .item h3 small{

  font-size:1.35rem;

  display:block;

  margin-bottom:0.25em;

}

.simulation.result.sec02 .item .maker_yellow{

  font-size:1.4rem;

  display:inline-block;

  margin-bottom:0.5em;

  background: linear-gradient(transparent 60%, #FFEFA8 40%);

}

.simulation.result.sec02 .item .price{

  font-size:2rem;

  font-weight:bold;

}

.simulation.result.sec02 .item .price span{

  font-size:3.75rem;

  color: #1F2E78;

}

.simulation.result.sec02 .item .youken{

  background-color:#E7F4FD;

  padding:0.5rem 1rem;

}

.simulation.result.sec02 .item .youken h4{

  font-size:1.125rem;

  padding:0.25em 0 0.25em 1.5em;

  position:relative;

}

.simulation.result.sec02 .item .youken h4::before{

  content:'';

  display:block;

  position:absolute;

  left:0;

  background:url(../img/icon_check01.svg) no-repeat center / contain;

  width:1.35em;

  height:1.35em;

  margin-right:0.25em;

}

.simulation.result.sec02 .item .youken p{

  font-size:1.5rem;

  color:#1F2E78;

  font-weight:bold;

}

.simulation.result.sec02 .item .right > p{

  font-weight:bold;

  font-size:1.125rem;

}

.simulation.result.sec02 .item .right > p small{

  font-weight:normal;

  font-size:1.125rem;

}

.simulation.result.sec02 .item .right .well p{

  font-weight:bold;

}

.simulation.result.sec02 .item .right .well p small{

  font-weight:normal;

}

.simulation.result.sec02 .item .right .color_txt{

  color:#1F2E78;

}

.simulation.result.sec02 .item.hojokin h3{

  border-color:#91AFDC;

}

.simulation.result.sec02 .item.hojokin .price span{

  color:#17397D;

}

.simulation.result.sec02 .item.hojokin .youken{

  background-color:#EBF1FB;

}

.simulation.result.sec02 .item.hojokin ul{

  margin:0;

  padding:0;

  display: flex;

  flex-direction:column;

}

.simulation.result.sec02 .item.hojokin ul li{

  width:100%;

  margin:0;

  font-size:1.125rem;

  font-weight:bold;

  padding:0.25em 0 0.25em 1.5em;

  position:relative;

  color:#17397D;

}

.simulation.result.sec02 .item.hojokin .right .color_txt{

  color:#17397D;

}

.simulation.result.sec02 .item.hojokin ul li::before{

  content:'';

  display:block;

  position:absolute;

  left:0;

  background:url(../img/icon_check02.svg) no-repeat center / contain;

  width:1.35em;

  height:1.35em;

  margin-right:0.25em;

}

@media screen and (max-width: 900px) {

  .simulation.result.sec02 .item .price{

    font-size:1.5rem;

  }

  .simulation.result.sec02 .item .price span{

    font-size:3rem;

  }

}

@media screen and (max-width: 768px) {

  .simulation.result.sec02 .item{

    padding:8vw 3vw;

    max-width:640px;

    margin:0 auto 3rem;

  }

  .simulation.result.sec02 .item .left{

    width:100%;

    padding:0 0 2rem 0;

  }

  .simulation.result.sec02 .item .right{

    width:100%;

    border-left:none;

    border-top:1px solid #C4C4C4;

    padding:2rem 0 0 0;

    font-size:3vw;

  }

  .simulation.result.sec02 .item h3{

    border-left: 0.4em solid #1F2E78;

    font-size:5vw;

    margin-bottom:0.75em;

  }

  .simulation.result.sec02 .item h3 small{

    font-size:4vw;

  }

  .simulation.result.sec02 .item .maker_yellow{

    font-size:5vw;

  }

  .simulation.result.sec02 .item .price{

    font-size:6vw;

  }

  .simulation.result.sec02 .item .price span{

    font-size:12vw;

  }

  .simulation.result.sec02 .item .youken{

    background-color:#E7F4FD;

    padding:3vw 3vw;

  }

  .simulation.result.sec02 .item .youken h4{

    font-size:4vw;

  }

  .simulation.result.sec02 .item .youken p{

    font-size:6vw;

  }

  .simulation.result.sec02 .item .right > p{

    font-size:4vw;

  }

  .simulation.result.sec02 .item .right > p small{

    font-size:4vw;

  }

  .simulation.result.sec02 .item.hojokin ul li{

    font-size:4vw;

  }

}

.simulation.result.sec02 h2:first-letter {
  color: #000000;
  font-size: 1em;
}

.simulation.form.sec01 h2:first-letter {
  color: #000000;
  font-size: 1em;
}


.simulation.form.sec01 .simulation_inner{

  max-width:none;

}

.formarea{

  font-size:1.125rem;

}

.formarea .max20{

  max-width:20em;

}

.formarea .max30{

  max-width:30em;

}

.privacypolicy.well p{

  line-height:2;

}

table{

  margin:1rem 0 2rem;

  width:100%;

  table-layout: fixed;

  border-collapse:collapse;

}

table th{

  width:25%;

  min-width:10rem;

  font-weight:normal;

  position:relative;

}

table th .must{

  position:absolute;

  font-size:1rem;

  display:inline-block;

  background-color:#E56E1A;

  color:#fff;

  line-height:1;

  padding:5px;

  right:1rem;

}

table th,

table td{

  border:1px solid #ddd;

  padding:1rem 2rem;

  position:relative;

}



table th{

  background-color:#E7F4FD;

  vertical-align: middle;

  text-align:left;

  padding-right: 4.5rem;

  font-weight:bold;

}

@media (max-width: 640px) {

  table.responsive_stack, table.responsive_stack thead, table.responsive_stack tbody, table.responsive_stack tr, table.responsive_stack th, table.responsive_stack td {

    display: block;

    width: auto!important;

  }

  table.responsive_stack th {

    border-bottom: none!important;

    padding: 1rem;

    text-align: center;

    line-height: 1.5;

    background-color:#E7F4FD;

  }

  table.responsive_stack td {

    border-bottom: none!important;

    padding:1rem;

  }

  table.responsive_stack {

    border-bottom: 1px solid #ddd;

  }

  .formarea .max20{

    max-width:none;

  }

  .formarea .max30{

    max-width:none;

  }

  .privacypolicy.well p{

    font-size:1rem;

  }

}

#submit{

  display:block;

  margin:2rem auto 0;

  color:#fff;

  font-weight:bold;

  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;

  background: linear-gradient(to bottom, #43d64e, #008018);

  font-size:1.5rem;

  padding:1em;

  width:360px;

  max-width:100%;

  border-radius:10px;

  transition:.2s;

}

#submit:hover{

  transform:translateY(-2px);

  opacity:0.8;

}

.simulation.form.thanks.sec01 .simulation_inner{

  max-width:800px;

}

.thanks p{

  font-size:1.25rem;

}

@media screen and (max-width: 640px) {

  .thanks p{

    font-size:1rem;

  }

}

.hidden_form{

  text-align:center;

}

.form_btn{

  background:none!important;

  transition:.2s;

  position:relative;

}

.hidden_form textarea{

 width:1px;

 height:1px;

 display:block;

 overflow:hidden;

 position:absolute;

 visibility:hidden;

}

.price_item.hojo{

  margin-top:4rem;

}

.simulation_inner .hojo h3{

  border-color:#17397D;

}

.hojo .total_price span{

  color:#17397D;

}

@media screen and (max-width: 640px) {

  .price_item.hojo{

    margin-top:2rem;

  }

}

.simulation_inner .tit_icon{

  width:295px;

}

.fix_btn{

  display:none;

  z-index:9999;

  position:fixed;

  bottom:0;

  left:0;

  width:100%;

  background-color:rgba(54,82,141,0.7);

  padding:0.5rem 0 1rem;

}

@media screen and (max-width: 768px) {

  .fix_btn{

    display:block;

  }

  .fix_btn img{

    max-width:320px;

    width:100%;

  }

  .fix_btn a{

    display:block;

    margin:0 auto;

    transition:.2s;

  }

  .fix_btn a:hover{

    transform:translateY(-2px);

  }



  footer{

    padding-bottom:82px;

  }

}

