@charset "utf-8";


@media screen and (max-width: 1080px) {

}

/*タブレット*/
@media screen and (max-width: 960px) {

  header .inner .top { padding: 12px 15px; }
  header .inner .top a.lang { margin: 10px 20px 0 0; }
  header .bottom > div.active { background-color:#005BAC; }
  header .bottom > div.active::after { background-image: url(../images/arr_m05.png); background-size: 18px 6.5px; }

  footer .inner { width: 60%; }
  footer .inner .flex-sb { flex-wrap: wrap; }
  footer .inner .flex-sb .flex-sb .box { width: 100%; margin:0 auto 36px; }
  footer .inner .flex-sb .flex-sb .box:last-child { margin:0 auto; }
  footer .inner .flex-sb .footer_right { width:100%; text-align:center; margin:0 auto 28px; }

  section.firstview { margin: 116px auto 0; }
  section.firstview .head { font-size: 26px; }
  section.info .inner .flex-sb { flex-wrap: wrap; justify-content: center; }
  section.info .inner .flex-sb a { width:44%; margin:0 auto 28px; }
  section.info .inner .flex-sb a:last-child { margin:0 auto; }
  section.topnews { padding: 0 0 56px; }
  section.topnews .inner { width:100%; }
  section.topnews .inner .flex-sb { flex-wrap: wrap; border-radius:0; padding:36px 30px 64px; }
  section.topnews .inner .flex-sb .head { width:100%; border:none; }
  section.topnews .inner .flex-sb .head a { display:none; }
  section.topnews .inner .flex-sb .content a.sp { width:210px; margin:30px auto 0; display:block; }

  section.agent-top .inner p { padding: 11.4vw 0 50px; }
  section.field .inner .flex-ct a { font-size:12px; }
  section.field .inner .flex-ct a.c01 img , section.field .inner .flex-ct a.c05 img , section.field .inner .flex-ct a.c06 img , section.field .inner .flex-ct a.c08 img { margin: 0 auto 26px; }

  section.area .inner .flex-sb { flex-wrap: wrap; }
  section.area .inner .flex-sb > div.asia { margin:0 auto 30px; }
  section.area .inner .flex-sb > div.america { width: 100%; }
  section.area .inner .flex-sb > div .box { font-size:18px; }
  section.flow .inner a.contact02.t02, section.voice .inner a.contact02 { margin:0 auto 30px; }
  section.voice .inner .flex-sb .voice .content { padding: 42px 20px 31px; }
  section.voice .inner .flex-sb .voice .content .head { font-size: 18px; }
  section.voice .inner .flex-sb .voice .content p { font-size: 13px; }
  section.voice .inner .flex-sb .voice .content .school { font-size: 11px; }
  section.voice .inner .flex-sb .voice .content .name { font-size: 15px; }
  section.voice .inner .flex-sb .voice .content .from { font-size: 13px; }
  section.voice .inner .flex-sb .v02 .content p { margin: 0 auto 44px; }
  section.voice .inner .flex-sb .v04 .content p { margin: 0 auto 64px; }

  section.list .inner .tab a { font-size: 24px; }
  section.list .inner .list-menu .flex-ct a { font-size: 14px; }
  section.list .inner .box .flex-sb.top p { font-size: 13px; }
  section.list .inner .box a.contact02 { margin:0 auto 8px; }
  section.list .inner .box .flex-sb.bottom { flex-wrap: wrap; margin: 0 auto 10px; }
  section.list .inner .box .flex-sb.bottom.pc { display:none; }
  section.list .inner .box .flex-sb.bottom.sp { display:block; }
  section.list .inner .box .flex-sb.bottom div { width:100%; }
  section.list .inner .box .flex-sb.bottom div div { padding:15px 8px; position:relative; }
  section.list .inner .box .flex-sb.bottom div div a { position:absolute; right:10px; top:50%; transform: translate(0,-50%); }
  section.list .inner .box .flex-sb.bottom div div a::after {
    width:3px;
  	height:9px;
  	content:"";
  	background-size:3px 9px;
  	background-repeat: no-repeat;
  	position:absolute;
  	top:50%;
  	right:-10px;
  	transform: translate(0,-50%);
  }
  section.list .inner .box .bd { display:none; }

  .main.form { margin: 116px auto 0; }
  section.form-head { padding: 0 0 50px; }
  section.form-con .inner .form-box { padding: 40px 45px 54px; border-radius: 26px; }
  section.form-con .inner .form-box .box { flex-wrap: wrap; }
  section.form-con .inner .form-box .box .head { width:100%; }
  section.form-con .inner .form-box .box .con { padding: 10px 0 20px; }
  section.form-con .inner .form-box .box .con .selectbox-3 select { min-width: 144px; }
  section.form-con .inner .form-box .box .con.birthday .selectbox-3 select { font-size: 12px; height: 4.8em; }
  section.form-con .inner .form-box .box .con.birthday > div:nth-child(2) ,section.form-con .inner .form-box .box .con.birthday > div:nth-child(4) { padding: 0 18px 0 12px; }
  section.form-con .inner .form-box button { padding: 12px 86px 16px 100px; font-size: 22px; line-height: 22px; }
  section.form-con .inner .form-box input[type="submit"] { padding: 12px 143px 16px 80px; font-size: 22px; line-height: 22px; }

  .main.news { margin: 116px auto 0; }
  section.form-head { padding: 0 0 50px; }
  section.news-list .inner { padding: 50px 50px 80px; }
  section.news-list .inner .flex-sb { column-gap: 30px; }
  /*flow chart 追加*/
  section.flow .inner .flow-chart { padding: 22px 20px 32px; }
  section.flow .inner .flow-chart .head {
    width:100%;
    margin: 0 auto 72px;
    padding: 3px 40px;
    text-align: center;
  }
  section.flow .inner .flow-chart .head span:first-child { margin: 0 30px 0 0; font-size: 38px; }
  section.flow .inner .flow-chart .head span:last-child { font-size: 22px; }
  section.flow .inner .flow-chart .flow-arr { width: 100%; }
  section.flow .inner .flow-chart .choice > div { padding: 14px; font-size: 20px; line-height: 20px; }
  section.flow .inner .flow-chart .choice > div .yes , section.flow .inner .flow-chart .choice > div .no { font-size: 26px; line-height: 26px; }
  section.flow .inner .flow-chart .choice.mgb73 { margin: 0 auto 168px; }
  section.flow .inner .flow-chart .answer .head01 { margin: 0 0 20px; padding: 10px 0 10px; font-size: 22px; line-height: 22px; }
  section.flow .inner .flow-chart .answer .content01 { padding: 0 8px 25px 20px; }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(1) {
    width: 155px;
    margin: 0 10px 0 0;
    padding: 8px 0;
    font-size: 14px;
    line-height: 14px;
  }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(1) span { font-size: 8px; }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(2) {
    margin: 0 10px 0 0;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: -9px;
  }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(3) {
    padding: 5px;
    font-size: 14px;
    line-height: 14px;
  }
  section.flow .inner .flow-chart .answer.mgb60 { margin-bottom: 65px; }
  section.flow .inner .flow-chart .title {
    margin: 0px auto 60px;
    padding: 12px 0;
    font-size: 20px;
    line-height: 20px;
  }
  section.flow .inner .flow-chart .choice.mgb60 { margin: 0 auto 144px; }
  section.flow .inner .flow-chart .answer .head02 { margin: 0 0 20px; padding: 10px 0 10px; font-size: 22px; line-height: 22px; }
  section.flow .inner .flow-chart .answer .content02 { padding: 0 8px 0 20px; margin: 0 0 15px; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(1) {
    width: 100px;
    padding: 60px 0;
    font-size: 20px;
    line-height: 20px;
  }
  section.flow .inner .flow-chart .answer .content02 > img:nth-child(2) { width: 30px; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) div div:nth-child(1) {
    width: 70px;
    margin: 0 10px 0 0;
    padding: 15px 0;
    font-size: 16px;
    line-height: 16px;
  }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) div div:nth-child(2) { font-size: 16px; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) div div:nth-child(2) span { font-size: 25px; line-height: 25px; }
  section.flow .inner .flow-chart .answer .content03 {
    margin: 0;
    padding: 0 8px 15px 20px;
    text-align: left;
  }
  section.flow .inner .flow-chart .answer .content03 > div:nth-child(1) {
    width: 100px;
    padding: 20px 0;
    font-size: 20px;
    line-height: 20px;
  }
  section.flow .inner .flow-chart .answer .content03 > div:nth-child(2) {
    font-size: 16px;
    line-height: 16px;
    font-weight: bold;
  }
  section.flow .inner .flow-chart .answer.mgb55 { margin-bottom: 40px; }
  section.flow .inner .flow-bottom { padding:35px 15px 20px; }
  section.flow .inner .flow-bottom .head { width: 60%; padding: 12px 0; font-size: 20px; line-height: 20px; }
  section.flow .inner .flow-bottom .flow-bottom-content > div:nth-child(1) { width: 120px; font-size: 14px; line-height: 14px; }
  section.flow .inner .flow-bottom .flow-bottom-content > div:nth-child(3) { font-size: 13px; line-height: 35px; }
  section.flow .inner .flow-chart .head .bd01 {
  	height:30px;
  	border-right:3px solid #5EB7E8;
  	position:absolute;
  	bottom:-30px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho01 .bd01 {
  	width:54%;
  	padding:0;
  	border-top:3px solid #5EB7E8;
  	position:absolute;
  	top:-45px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho01 .bd02 {
  	width:0;
  	height:134px;
  	padding:0;
  	border-left:3px solid #5EB7E8;
  	position:absolute;
  	top:-43px;
  	left:23%;
  }
  section.flow .inner .flow-chart .cho01 .bd03 {
  	width:0;
  	height:45px;
  	padding:0;
  	border-left:3px solid #5EB7E8;
  	position:absolute;
  	top:-43px;
  	right:23%;
  }
  section.flow .inner .flow-chart .ans01 .bd01 {
  	width:0;
  	height:calc(100% + 77px);
  	padding:0;
  	border-left:3px solid #5EB7E8;
  	position:absolute;
  	top:-48px;
  	right:-50px;
  }
  section.flow .inner .flow-chart .ans01 .bd02 {
  	width:324px;
  	padding:0;
  	border-top:3px solid #5EB7E8;
  	position:absolute;
  	bottom:-30px;
  	right:-50px;
  }
  section.flow .inner .flow-chart .ans01 .bd03 {
  	width:0;
  	height:32px;
  	padding:0;
  	border-left:3px solid #5EB7E8;
  	position:absolute;
  	bottom:-59px;
  	right:274px;
  }
  section.flow .inner .flow-chart .title .bd01 {
  	height:30px;
  	border-right:3px solid #5EB7E8;
  	position:absolute;
  	bottom:-30px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho02 .bd01 {
  	width:54%;
  	padding:0;
  	border-top:3px solid #5EB7E8;
  	position:absolute;
  	top:-32px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho02 .bd02 {
  	width:0;
  	height:109px;
  	padding:0;
  	border-left:3px solid #5EB7E8;
  	position:absolute;
  	top:-32px;
  	left:23%;
  }
  section.flow .inner .flow-chart .cho02 .bd03 {
  	width:0;
  	height:40px;
  	padding:0;
  	border-left:3px solid #5EB7E8;
  	position:absolute;
  	top:-30px;
  	right:23%;
  }
  section.flow .inner .flow-chart .ans02 .bd01 {
  	width:0;
  	height:calc(100% + 68px);
  	padding:0;
  	border-left:3px solid #5EB7E8;
  	position:absolute;
  	top:-34px;
  	right:-50px;
  }
}

/*	スマホ		*/
@media screen and (max-width: 428px) {

  br.pc { display:none; }
  br.sp  { display:block; }
  .sidebar-box { width:35px; }
  .side-menu { width:35px; padding: 60px 0 0; }
  a.totop { width: 34px; height:34px; right: 4px; }
  header .btn-menu { display:block; }

  header .inner .top img { height:28px; margin:0; }
  header .inner .top a.lang { display:none; }
  header .inner .top .top-sp { display:inline-block; vertical-align: middle; }
  header .bottom { display:none; }
  header .bottom a { width:100%; padding:20px 40px; border-left: none; border-right:none; border-bottom: 1px solid #fff; text-align:left; }
  header .bottom div a { padding:20px 40px; }
  header .bottom .menu01, header .bottom .menu02 { display: none; }
  header .bottom .menu01 span, header .bottom .menu02 span { margin:0; padding:20px 40px; display:block; text-align:left; }
  header .bottom a.sp { display:inline-block; }
  header .bottom > div::after { right:40px; top:30px; }
  header .bottom .menu01 div, header .bottom .menu02 div { width:100%; position:relative; top:0; }
  header .bottom .sp-head-menu01 , header .bottom .sp-head-menu02 { width:100%; display:block; margin:0; padding:20px 40px; display:block; text-align:left; border-left: none; border-right:none; border-bottom: 1px solid #fff; }

  footer { padding:30px 0 40px; }
  footer .inner { width: 90%; }
  footer .inner .head img { height: 40px; margin: 0 auto 30px; }
  footer .inner .flex-sb .flex-sb .box .top { margin: 0 auto 24px; }
  footer .inner .flex-sb .flex-sb .box div:last-child { padding: 4px 0 4px 12px; }
  footer .inner .footer_right a:nth-child(1) { margin: 0 auto 16px; }
  footer p { font-size: 11px; }

  section.firstview { margin: 52px auto 0; }
  section.firstview picture { z-index:300; position:relative; }
  section.firstview .center-text { display:none; }
  section.firstview .slide-img-box { height: auto; }
  section.firstview .slide-img-box .top-slide div img, section.firstview .slide-img-box .bottom-slide div img { width: auto; height: 53.3vw; }
  section.firstview .slide-img-box .top-slide {
  	animation: loop-right 40s infinite linear 1s both;
  }
  @keyframes loop-right {
  	form {
  		transform: translateX(0);
  	}
  	to {
  		transform: translateX(-300%);
  	}
  }
  section.firstview .slide-img-box .bottom-slide {
  	transform: translateX(-300%);
  	animation: loop-left 40s infinite linear 1s both;
  }
  @keyframes loop-left {
  	form {
  		transform: translateX(-300%);
  	}
  	to {
  		transform: translateX(0);
  	}
  }
  section.firstview .text { margin:0px; font-size: 22.2vw; line-height: 18.5vw; text-align: left; }
  section.firstview .head { width:80%; font-size: 22px; margin: 0; padding: 10px 18px 12px 18px; bottom: 2%; line-height: 20px; text-align: center; bottom: -9%; }
  section.firstview.index .head { width:74%; font-size: 20px; margin: 0 0 0 -14%; padding: 7px 0 7px 36px; bottom: 11%; line-height: 20px; }
  section.firstview .head::after { height: 5px; bottom: -11px; }
  section.firstview.fv-list { margin: 52px auto 52px; }
  section.firstview.fv-list .text { margin: 0px 0 0 0px; font-size: 17vw; line-height: 12.5vw; }
  section.firstview .head.list { width:74%; }

  .main { margin: 0 auto 0; }
  .main.bg { background-image: url(../images/main_bg_sp.png); }
  .main.bg.index { background-repeat: no-repeat; background-position: 0 19%; }
  section.info { margin: 0 auto 130px; }
  section.info .inner .flex-sb { justify-content: flex-start; }
  section.info .inner .flex-sb a { width: 85%; margin: 0 0 28px; }
  section.info .inner .flex-sb a:last-child { margin: 0 0 28px;; }
  section.info .inner .flex-sb a div { font-size:11px; }
  section.topnews { padding: 0 0 74px; }
  section.topnews .inner .flex-sb { padding: 36px 30px 64px; margin: 0 auto 56px; }
  section.topnews .inner .flex-sb .head div { margin: 0 auto 30px; }
  section.topnews .inner .flex-sb .content a span:nth-child(2) { margin: 12px 0 16px; width:100%; display:block; }
  section.topnews .inner .flex-sb .content a.sp { width: 210px; margin: 48px 0 0; font-size: 16px; line-height: 16px; }
  a.arrow { padding: 16px 120px 16px 90px; font-size: 14px; line-height: 14px; }
  a.arrow::after { width: 30px; height: 10px; right: 44px; background-size:30px 10px; }
  section.topnews a.arrow { font-size: 18px; line-height: 18px; padding: 14px 92px 14px 51px; }
  section.topnews a.arrow::after { width: 38px; height: 13px; right: 38px; background-size:38px 13px; }

  section.agent-top { margin: 70px auto 50px; padding:0 0 130px; }
  section.agent-top .img.pc { display:none; }
  section.agent-top .img.sp { display:block; }
  section.agent-top .img { width: 80%; top: auto; right: auto; left: 0; bottom:0; }
  section.agent-top .inner { width: 100%; padding: 36px 0 130px; background-color: #005BAC; }
  section.agent-top .inner p { padding: 0 27px 0; width: 90%; font-size: 16px; line-height: 1.7; }
  section.agent-top > .bg { display:none; }

  section.japanbased-top { margin: 70px auto 50px; padding:0 0 130px; }
  section.japanbased-top .img.pc { display:none; }
  section.japanbased-top .img.sp { display:block; }
  section.japanbased-top .img { width: 80%; top: auto; right: auto; left: 0; bottom:0; }
  section.japanbased-top .inner { width: 100%; padding: 36px 0 130px; background-color: #005BAC; }
  section.japanbased-top .inner p { padding: 0 27px 0; width: 90%; font-size: 16px; line-height: 1.7; }
  section.japanbased-top > .bg { display:none; }

  section.overseas-top { margin: 70px auto 50px; padding:0 0 130px; }
  section.overseas-top .img.pc { display:none; }
  section.overseas-top .img.sp { display:block; }
  section.overseas-top .img { width: 80%; top: auto; right: auto; left: 0; bottom:0; }
  section.overseas-top .inner { width: 100%; padding: 36px 0 130px; background-color: #005BAC; }
  section.overseas-top .inner p { padding: 0 27px 0; width: 90%; font-size: 16px; line-height: 1.7; }
  section.overseas-top > .bg { display:none; }

  .head_underline { width:auto; font-size:20px; line-height: 20px; padding: 12px 24px; }
  section.flow .inner .head_underline , section.field .inner .head_underline , section.area .inner .head_underline , section.voice .inner .head_underline , section.firstview .head.overseas { width:auto; min-width: 270px; }
  section.firstview .head.overseas { bottom: -10%; }
  section.firstview .head.japanbased { bottom: -9%; }

  section.flow { padding: 0 0 57px; }
  section.flow .inner .flow-bottom { display:none; }
  section.field { padding: 0 0 60px; }
  section.field .inner .flex-ct { column-gap:18px; }
  section.field .inner .flex-ct a { width: 45%; padding: 9px; margin: 0 0 18px; }
  section.field .inner .flex-ct a::before { width: 13px; height: 13px; background-size:13px 13px; right: 9px; bottom: 9px; }
  section.field .inner .flex-ct a img { margin: 0 auto 9px; }
  section.field .inner .flex-ct a.c01 img, section.field .inner .flex-ct a.c05 img, section.field .inner .flex-ct a.c06 img, section.field .inner .flex-ct a.c08 img { margin: 0 auto 16px; }
  section.field .inner .arrow { padding: 16px 120px 16px 90px; font-size: 14px; line-height: 14px; }
  section.field .inner .arrow::after { width: 30px; height: 10px; right: 44px; background-size:30px 10px; }
  section.area { padding: 0 0 80px; }
  section.area .inner .area-bottom { padding: 25px 30px 38px; }
  section.area .inner .flex-sb > div.asia.pc { display:none; }
  section.area .inner .flex-sb > div.asia.sp { display:block; }
  section.area .inner .flex-sb > div .head { margin: 0 auto 20px; padding: 12px 0; font-size: 18px; line-height: 18px; }
  section.area .inner .flex-sb > div .box { font-size: 13px; margin: 0 30px 0 0; }
  section.area .inner .flex-sb > div .box:nth-child(3) { margin: 0; }
  section.area .inner .area-bottom > div.text { font-size: 24px; }
  section.voice { padding: 0 0 100px; }
  section.voice .inner .flex-sb { flex-wrap: wrap; margin: 0 auto 40px; }
  section.voice .inner .flex-sb .voice { width: 100%; }
  section.voice .inner .flex-sb .voice.v01 , section.voice .inner .flex-sb .voice.v03 { margin:0 auto 30px }
  section.voice .inner .flex-sb .voice .content .school { padding: 20px 0 0; margin: 0 auto 0px; line-height:13px; }
  section.voice .inner .flex-sb .voice .content .name { padding: 0 0 20px; }

  section.list { margin: 0 auto 0; padding:30px 0 50px; width:100%; }
  section.list .inner .tab a { font-size: 18px; padding: 15px 0 7px; }
  section.list .inner .tab { gap: 0 19px; }
  section.list .inner .list-menu .flex-ct a { width: 45%; font-size: 12px; padding: 10px 0 10px; margin: 0 0 17px; }
  section.list .inner .list-menu .flex-ct a::after { bottom: -7px; border-left: 30px solid transparent; border-right: 30px solid transparent; }
  section.list .inner .box { padding: 50px 0 0; }
  section.list .inner .box.b01 { padding: 36px 0 0; }
  section.list .inner .box .head { margin: 0 auto 14px; font-size: 16px; }
  section.list .inner .box .flex-sb.top { flex-wrap: wrap; margin: 0 auto 30px; }
  section.list .inner .box .flex-sb.top .img { width: 100%; margin: 0 auto 24px; }
  section.list .inner .box .flex-sb.top p { width: 100%; }
  section.list .inner .box .flex-sb.bottom { margin: 0 auto 30px; }
  section.list .inner .box .flex-sb.bottom > div { font-size: 12px; line-height: 12px; }
  section.list .inner .box .flex-sb.bottom > div a { font-size: 10px; }
  section.list .inner .box .flex-sb.bottom.sp div:last-child div:first-child { border-top:1px solid #E6C300; }
  section.list .inner .box .flex-sb.bottom > div div.h01,
	section.list .inner .box .flex-sb.bottom > div div.h02,
	section.list .inner .box .flex-sb.bottom > div div.h03,
	section.list .inner .box .flex-sb.bottom > div div.h04,
	section.list .inner .box .flex-sb.bottom > div div.h05,
	section.list .inner .box .flex-sb.bottom > div div.h06,
	section.list .inner .box .flex-sb.bottom > div div.h07,
	section.list .inner .box .flex-sb.bottom > div div.h08 { padding:0 8px 8px; margin:0 auto 8px; font-size: 15px; line-height: 15px; }
  section.list .inner .box .flex-sb.bottom div div.mt { margin: 20px auto 0; }
  section.list .inner .box .flex-sb.bottom > div div > span { display:none; }
  section.list .inner .box > p { margin: 0 auto 30px; font-size: 13px; line-height: 1.8; }

  .main.form { margin: 52px auto 0; }
  .main.news { margin: 52px auto 0; }
  section.form-head { font-size: 14.8vw; line-height: 13.2vw; margin: 0 auto 40px; padding: 0px 0 20px; }
  section.form-head .text { padding:10px 0; }
  section.form-head .head { font-size: 27px; line-height: 27px; letter-spacing: 0; padding: 7px 0; text-align:center; top: 60%; }
  .main.news section.form-head { font-size: 25.8vw; line-height: 13.2vw; margin: 0 auto 40px; padding: 0px 0 20px; }
  .main.news section.form-head .text { padding:10px 0; }
  .main.news section.form-head .head { font-size: 27px; line-height: 27px; letter-spacing: 0; padding: 7px 0; text-align:center; top: 52%; }
  section.form-con .inner > p { margin: 0 auto 20px; font-size: 14px; line-height: 1.8; }
  section.form-con .inner > a { margin: 0 auto 48px; padding: 12px 68px 12px 23px; font-size: 14px; line-height: 14px; border-radius: 33px; }
  section.form-con .inner > a .sp { display:inline; }
  section.form-con .inner > a::after { width: 28px; height: 8px; background-size: 28px 8px; right: 20px; }
  section.form-con .inner .form-box { padding: 30px 18px 48px; }
  section.form-con .inner .form-box .radio-2 label { font-size: 14px; margin: 0 10px 30px; }
  section.form-con .inner .form-box .radio-2 label::before { width: 20px; height: 20px; border: 1px solid #B5B5B5; }
  section.form-con .inner .form-box .radio-2 label::after { left: 10px; width: 9px; height: 9px; }
  section.form-con .inner .form-box .box .head span { font-size:16px; }
  section.form-con .inner .form-box .box .head span.req { font-size:10px; }
  section.form-con .inner .form-box .box .con { padding: 10px 0 10px; }
  section.form-con .inner .form-box .mw_wp_form_preview .box .con { font-size: 16px; }
  section.form-con .inner .form-box .box .con input[type="text"], section.form-con .inner .form-box .box .con input[type="email"] { font-size: 16px; }
  section.form-con .inner .form-box .box .con.birthday .selectbox-3 { margin: 0 9px 0 0; padding: 0 14px 0 0; }
  section.form-con .inner .form-box .box .con .selectbox-3 > div { font-size:10px; top: 17px; }
  section.form-con .inner .form-box .box .con .selectbox-3::after { top: 24px; }
  section.form-con .inner .form-box .box .con.birthday .selectbox-3::after { right:26px; top: 23px; }
  section.form-con .inner .form-box .box .con .selectbox-3 select { font-size: 16px; min-width: 72px; padding: 10px 8px; }
  section.form-con .inner .form-box .box .con.birthday .selectbox-3 select { height: 3.8em; padding: 10px 8px; }
  section.form-con .inner .form-box .box .con.birthday > div:nth-child(2) { padding: 0 14px 0 0; margin: 0 9px 0 0; }
  section.form-con .inner .form-box .box .con.birthday > div:nth-child(4) { padding: 0 14px 0 0; }
  section.form-con .inner .form-box .box .con.birthday div:nth-child(6), section.form-con .inner .form-box .box .con.birthday02 div:nth-child(7) { padding: 0 0 0 5px; font-size: 12px; }
  section.form-con .inner .form-box input[type="submit"] { min-width:243px; padding: 14px 93px 18px 66px; font-size: 14px; line-height: 14px; background: url(../images/form_btn03.png) no-repeat scroll 0 0; background-size: 100%; background-repeat: no-repeat; }
  section.form-con .inner .form-box button { min-width:243px; padding: 14px 66px 18px 93px; font-size: 14px; line-height: 14px; background: url(../images/form_btn02.png) no-repeat scroll 0 0; background-size: 100% 100%; background-repeat: no-repeat; }
  section.form-con .inner .form-box .mw_wp_form_preview button { margin: 30px 0 10px; }
  section.form-con .inner .form-box .box.experience-box .head { padding: 15px 0 0; }
  .mw_wp_form_complete p { font-size: 16px; }

  a.contact02 , section.flow .inner a.contact02.t02,
  section.flow .inner a.soudan02.t02,
  section.voice .inner a.contact02,
  section.voice .inner a.soudan02,
  section.list .inner .box a.contact02,
  section.list .inner .box.b01 .soudan02,
  section.list .inner .box.b02 .soudan02,
  section.list .inner .box.b03 .soudan02,
  section.list .inner .box.b04 .soudan02,
  section.list .inner .box.b05 .soudan02,
  section.list .inner .box.b06 .soudan02,
  section.list .inner .box.b07 .soudan02,
  section.list .inner .box.b08 .soudan02
  { width:auto; padding: 16px 30px 16px 58px; font-size: 16px; line-height: 16px; }
  section.flow .inner a.soudan02.t02,
  section.voice .inner a.soudan02,
  section.list .inner .box.b01 .soudan02,
  section.list .inner .box.b02 .soudan02,
  section.list .inner .box.b03 .soudan02,
  section.list .inner .box.b04 .soudan02,
  section.list .inner .box.b05 .soudan02,
  section.list .inner .box.b06 .soudan02,
  section.list .inner .box.b07 .soudan02,
  section.list .inner .box.b08 .soudan02 { padding: 16px 45px 16px 76px; }
  a.contact02::after, section.list .inner .box a.contact02::after { width: 14px; height: 18px; background-size: 14px 18px; left: 22px; }
  a.soudan02::after,
  section.list .inner .box.b01 .soudan02::after,
  section.list .inner .box.b02 .soudan02::after,
  section.list .inner .box.b03 .soudan02::after,
  section.list .inner .box.b04 .soudan02::after,
  section.list .inner .box.b05 .soudan02::after,
  section.list .inner .box.b06 .soudan02::after,
  section.list .inner .box.b07 .soudan02::after,
  section.list .inner .box.b08 .soudan02::after
   { width: 25px; height: 18px; background-size: 25px 18px; left: 22px; }
  section.area .inner .contact02 { margin: 32px auto 0; }
  section.flow .inner a.contact02.t02 , section.voice .inner a.contact02 { margin: 0 auto 10px; }

  section.news-list { margin: 50px auto 50px; }
  section.news-list .inner { padding: 25px 25px 40px; border-radius: 32px; }
  section.news-list .inner .flex-sb { flex-wrap: wrap; }
  section.news-list .inner .flex-sb .date { width:100%; margin:0 auto 10px; }
  section.news-list .inner .flex-sb .con .title { margin: 0 0 18px; }
  section.news-list .inner > a { width: 100%; margin: 20px auto 0; }

  /*flow chart 追加*/
  section.flow .inner .flow-chart { padding: 18px 10px 20px; }
  section.flow .inner .flow-chart .head { width: 90%; padding: 3px 10px; margin: 0 auto 24px; }
  section.flow .inner .flow-chart .head span:nth-child(2) { margin: 0 15px 0 0; font-size: 22px; }
  section.flow .inner .flow-chart .head span:last-child { font-size: 12px; }
  section.flow .inner .flow-chart .flow-arr { top: 55px; }
  section.flow .inner .flow-chart .choice > div { padding: 10px; font-size: 10px; line-height: 10px; }
  section.flow .inner .flow-chart .choice > div .yes , section.flow .inner .flow-chart .choice > div .no { font-size: 10px; line-height: 10px; padding: 10px 8px 10px; }
  section.flow .inner .flow-chart .choice.mgb73 { margin: 0 auto 70px; }
  section.flow .inner .flow-chart .answer .head01 { margin: 0 0 8px; padding: 4px 0 4px; font-size: 10px; line-height: 10px; }
  section.flow .inner .flow-chart .answer .content01 { padding: 0 5px 15px 10px; }
  section.flow .inner .flow-chart .answer .content01 .subject { margin:0; }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(1) br.sp { line-height: 0; }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(1) {
    width: 80px;
    margin: 0 4px 0 0;
    padding: 5px 0;
    font-size: 10px;
    line-height: 10px;
  }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(1) span { font-size: 6px; }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(2) {
    margin: 0 4px 0 0;
    font-size: 8px;
    line-height: 8px;
    letter-spacing: -5px;
  }
  section.flow .inner .flow-chart .answer .content01 .subject div:nth-child(3) {
    padding: 2px;
    font-size: 8px;
    line-height: 10px;
  }
  section.flow .inner .flow-chart .answer.mgb60 { margin-bottom: 32px; }
  section.flow .inner .flow-chart .title {
    margin: 0px auto 22px;
    padding: 8px 0;
    font-size: 11px;
    line-height: 11px;
  }
  section.flow .inner .flow-chart .choice.mgb60 { margin: 0 auto 70px; }
  section.flow .inner .flow-chart .answer .head02 { margin: 0 0 9px; padding: 5px 0 5px; font-size: 8px; line-height: 8px; }
  section.flow .inner .flow-chart .answer .content02 { padding: 0 8px 0 20px; margin: 0 0 5px; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(1) {
    width: 38px;
    padding: 20px 0;
    font-size: 9px;
    line-height: 9px;
  }
  section.flow .inner .flow-chart .answer .content02 > img:nth-child(2) { width: 12px; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) { margin:0; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) div:nth-child(1) { margin: 0 0 5px; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) div div:nth-child(1) {
    width: 24px;
    margin: 0 10px 0 0;
    padding: 6px 0;
    font-size: 6px;
    line-height: 6px;
    border: 1px solid #008CD6;
  }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) div div:nth-child(2) { font-size: 8px; }
  section.flow .inner .flow-chart .answer .content02 > div:nth-child(3) div div:nth-child(2) span { font-size: 12px; line-height: 12px; }
  section.flow .inner .flow-chart .answer .content03 {
    margin: 0;
    padding: 0 8px 15px 20px;
    text-align: left;
  }
  section.flow .inner .flow-chart .answer .content03 > div:nth-child(1) {
    width: 38px;
    padding: 10px 0;
    font-size: 9px;
    line-height: 9px;
    margin: 0 6px 0 0;
  }
  section.flow .inner .flow-chart .answer .content03 > div:nth-child(2) {
    font-size: 8px;
    line-height: 8px;
    font-weight: bold;
  }
  section.flow .inner .flow-chart .answer.mgb55 { margin-bottom: 29px; }
  section.flow .inner .flow-bottom { padding:35px 15px 20px; }
  section.flow .inner .flow-bottom .head { width: 60%; padding: 8px 0; font-size: 10px; line-height: 10px; top:-13px; }
  section.flow .inner .flow-bottom .flow-bottom-content > div:nth-child(1) { width: 70px; font-size: 7px; line-height: 10px; border-radius: 9px; }
  section.flow .inner .flow-bottom .flow-bottom-content > picture:nth-child(2) { width:11px; }
  section.flow .inner .flow-bottom .flow-bottom-content > div:nth-child(3) { font-size: 8px; line-height: 12px; }
  section.flow .inner .flow-bottom .flow-bottom-content > div:nth-child(3) br.sp { line-height: 0; }
  section.flow .inner .flow-bottom .flow-bottom-content > div:nth-child(3) br.sp.mg { line-height: 6px; }
  section.flow .inner .flow-chart .head .bd01 {
  	height:10px;
  	border-right:2px solid #5EB7E8;
  	position:absolute;
  	bottom:-10px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho01 .bd01 {
  	width:54%;
  	padding:0;
  	border-top:2px solid #5EB7E8;
  	position:absolute;
  	top:-14px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho01 .bd02 {
  	width:0;
  	height:53px;
  	padding:0;
  	border-left:2px solid #5EB7E8;
  	position:absolute;
  	top:-13px;
  	left:23%;
  }
  section.flow .inner .flow-chart .cho01 .bd03 {
  	width:0;
  	height:45px;
  	padding:0;
  	border-left:2px solid #5EB7E8;
  	position:absolute;
  	top:-14px;
  	right:23%;
  }
  section.flow .inner .flow-chart .ans01 .bd01 {
  	width:0;
  	height:calc(100% + 30px);
  	padding:0;
  	border-left:2px solid #5EB7E8;
  	position:absolute;
  	top:-15px;
  	right:-18px;
  }
  section.flow .inner .flow-chart .ans01 .bd02 {
  	width:146px;
  	padding:0;
  	border-top:2px solid #5EB7E8;
  	position:absolute;
  	bottom:-17px;
  	right:-18px;
  }
  section.flow .inner .flow-chart .ans01 .bd03 {
  	width:0;
  	height:10px;
  	padding:0;
  	border-left:2px solid #5EB7E8;
  	position:absolute;
  	bottom:-26px;
  	right:126px;
  }
  section.flow .inner .flow-chart .title .bd01 {
  	height:12px;
  	border-right:2px solid #5EB7E8;
  	position:absolute;
  	bottom:-11px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho02 .bd01 {
  	width:54%;
  	padding:0;
  	border-top:2px solid #5EB7E8;
  	position:absolute;
  	top:-12px;
  	left:50%;
  	transform: translateX(-50%);
  }
  section.flow .inner .flow-chart .cho02 .bd02 {
  	width:0;
  	height:50px;
  	padding:0;
  	border-left:2px solid #5EB7E8;
  	position:absolute;
  	top:-11px;
  	left:23%;
  }
  section.flow .inner .flow-chart .cho02 .bd03 {
  	width:0;
  	height:40px;
  	padding:0;
  	border-left:2px solid #5EB7E8;
  	position:absolute;
  	top:-11px;
  	right:23%;
  }
  section.flow .inner .flow-chart .ans02 .bd01 {
  	width:0;
  	height:calc(100% + 38px);
  	padding:0;
  	border-left:2px solid #5EB7E8;
  	position:absolute;
  	top:-15px;
  	right:-18px;
  }
  section.flow .inner .flow-chart img.arr {
  	width:8px;
  	position:absolute;
  	bottom:-6px;
  	right:-3px;
  }

}
