/* http://meyerweb.com/eric/tools/css/reset/ 
     v2.0 | 20110126
    License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video{margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display: block;}
body{line-height: 1;}
ol, ul{list-style: none;}
blockquote, q{quotes: none;}
blockquote:before, blockquote:after,q:before, q:after{content: '';content: none;}
ul li{list-style: none;}
*, *:before, *:after{-webkit-box-sizing: inherit;box-sizing: inherit;}
* {box-sizing: border-box;}
a{text-decoration: none;-webkit-transition: all 0.3s ease 0s;transition: all 0.3s ease 0s;}
a:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
table{border-collapse:collapse}
/*▲▲▲ reset ▲▲▲*/
html {
  font-size: 62.5%;
}
body {
    font-family: 'Nunito Sans', 'Noto Sans JP', 'Roboto', "ヒラギノ角ゴ ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight:400;
    color:#000;
    overflow-x: hidden;
    font-size:2rem;
    line-height:2;
    background:#fff;
    margin: 0;
    letter-spacing: 0.05em;
}
.font_roboto{font-family: 'Roboto', "sans-serif";}
#wrapper {
    overflow: hidden;
}
a{text-decoration:none;
    -webkit-transition:all 0.3s ease;
    transition:all 0.3s ease;}
a:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
img {
    display:block;
}
#page-top img {
    position: fixed;
    cursor: pointer;
}
/*▲ 初期設定 ▲*/
::selection{
    background: #9acfed;
    color: #c054a1;
}
/* for Firefox */
::-moz-selection{
    background: #9acfed;
    color: #c054a1;
}

.bg_white{background:#fff}
.bg_orange{background:#fab373}
.bg_gray{background:#e9eaea}
.bg_yellow{background:#ffc74e}
.bg_blue{background:#1d36d6}
.bg_red{background:#ff575c}

.bold{font-weight:700}
.fw500{font-weight:500}
.fw400{font-weight:400}
.fw300{font-weight:300}
.alc{text-align:center}
.alL{text-align:left}
.alR{text-align:right}

.col_white{color:#fff}
.col_blue{color:#1d36d6}
.col_orange{color:#ff8417}
.col_red{color:#ff575c}

.mr0{margin-right:0}
.mb0{margin-bottom:0!important}
.mb5{margin-bottom:5px}
.mb10{margin-bottom:10px}
.mb20{margin-bottom:20px}
.mb30{margin-bottom:30px}
.mb40{margin-bottom:40px}
.mb50{margin-bottom:50px}
.mb60{margin-bottom:60px}
.pb0{padding-bottom:0!important}

.font_16{font-size: 1.6rem}
.font_18{font-size: 1.8rem}
.font_20{font-size: 2rem}
.font_30{font-size: 3rem}
.palt{font-feature-settings:"palt"}
.font_italic{font-style: italic}
.auto{margin: 0 auto}

.lh_12{line-height: 1.2;}

.flex_space{display:flex;justify-content:space-between}
.flex_wrap{display:flex;flex-wrap:wrap;justify-content: space-between}
.flex_row{display:flex;flex-direction: row}
.flex_start{display:flex;justify-content:flex-start}
.block{display: block}

.under_line {
    text-decoration: underline;
    text-underline-offset:0.3em;
    text-decoration-thickness:3px;
}
.linethrough{
    text-decoration: line-through;
}
.upright{
    -webkit-text-orientation: upright;
    text-orientation: upright;
}
.vertical-rl{
    writing-mode: vertical-rl;
}
.blank_link{
	text-decoration: underline;
}
.pc_block{
    display: block;
}
.pcnone{display: none}
img {
    width:100%;
    height: auto;
}
table{
	width: 100%;
}
h1,h2,h3,h4{
    line-height: 1.4;
}
/*　▼ header　▼　*/
header{
    background:url(../images/mv_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    margin: 0 auto;
}
header h1{
	margin-bottom: 0;
}
/*▼ ボタン設定　▼*/
.mv_area{
    width: 1200px;
    margin: 0 auto;
    position: relative;
}
.btn{
    position: absolute;
    width: 560px;
    height: 60px;
    line-height: 60px;
    top: 660px;
    left: 0;
    background: rgb(255,87,92);
    background: linear-gradient(0deg, rgba(255,87,92,1) 0%, rgba(255,132,23,1) 100%);
    color: #fff;
    font-size: 2.7rem;
    font-weight: 500;
    box-sizing: border-box;
}
.btn:hover,
.contact_area .btn:hover{
    background: rgb(255,132,23);
    background: linear-gradient(0deg, rgba(255,132,23,1) 0%, rgba(255,87,92,1) 100%);
    ransition:background-color 0.3s;
}
/*▲ ボタン設定　▲*/
/*　▼ footer　▼　*/
footer {
	font-weight: 400;
	font-size: 1.6rem;
    padding: 2%;
}
footer .box {
	width:1000px;
	margin:0 auto;
}
footer .box ul {
	width: 490px;
    margin: 0 auto;
}
footer li {
    text-align: right;
}
footer li a {	
	background-size: 15px;
    background-position: 26px center;
    color: #4b5689;
}
.logo{
	width: 26%;
	height: auto!important;
}
#page-top img{
    position: fixed;
    right: 28px;
    width: 70px;
   bottom: 230px;
}
.tel::before{
	content: '\e0b0';
	font-family: 'Material Icons';
	vertical-align: -2px;
	margin-right: 3px;
}
.mail::before{
	content: '\e0be';
	font-family: 'Material Icons';
	vertical-align: -2px;
	margin-right: 3px;
}
.att{
    font-size: 1.6rem;
}
section{
	width: 1000px;
	margin: 0 auto;
	padding: 110px 0;
}
h1{
	margin-bottom: 90px;
	font-size: 3.4rem;
    font-weight: 700;
    text-align: center;
}
.sec01_wrap {
    background: rgb(0,81,154);
    background: linear-gradient(0deg, rgba(0,81,154,1) 0%, rgba(0,140,211,1) 100%); 
}
.bg_ppl_wrap{
    background: #edeffc;
}
.bg_blue_wrap{
    background: #f2f9fd;
}
.bg_pink_wrap{
    background: #f9edf2;
}
.sec01 .font_small{
    font-size: 2.9rem;
}
.sec01 h2{
    padding: 0.6%;
    background-color: #9acfed;
    font-size: 3.4rem;
    width: 26em;
    margin: 0 auto;
    position: relative;
    margin-bottom: 70px;
}
.sec01 h2::after{
    content: "";
    display: block;
    position: absolute;
    border: 20px solid transparent;
    border-top-color: #9acfed;
    border-bottom-width: 0;
    bottom: -17px;
    left: 48%;
}
.sec01 ul{
    font-size: 2.4rem;
    width: 100%;
}
.sec01 ul li{
    background: url(../images/check_ppl.png) no-repeat;
    background-size: 3%;
    background-position: left 14px;
    padding-left: 4%;
    border-bottom: 2px dashed #a297d9;
    margin-bottom: 11px;
    padding-bottom: 1%;
}
.sec01_img{
    width: 19%;
    height: 100%;
    margin-right: 3%;
    padding-top: 10%;
}
.sec02 .bb{
    border-bottom: 2px dashed #c054a1;
}
.sec02 img{
    height: 100%;
    width: 32%;
}
.sec03 h1 .col_red{
    font-size: 4.2rem;
}
.sec03 .box p{
    width: 878px;
    margin: 0 auto;
}
.sec03 .point{
    width: 11%;
    margin-bottom: 40px;
}
.sec03 h2{
    font-size: 2.8rem;
    margin-bottom: 40px;
}
.sec03_img {
    margin-bottom: 50px;
}
.sec03_img01{
    width: 20%;  
}
.sec03_img02{
    width: 39%;
}
.sec03_img03{
    width: 28%;
}
.sec03 p .bb{
    border-bottom: 2px dashed #c054a1;
}
.sec03 .box{
    margin-bottom: 120px;
}
.sec03 .dotted {
    text-emphasis: filled;
  -webkit-text-emphasis: filled;
}
.sec03 .box_bottom{
    position: relative;
}
.sec03 h3{
    font-size: 2.4rem;
    border-bottom: 2px solid #000;
    width: 22em;
    margin: 0 auto 50px;
}
.ex{
    position: absolute;
    top: -35px;
    left: 21px;
    width: 11%;
}
.sec03 dl {
    font-size: 2.4rem;
}
.sec03 dl dt{
    background: url(../images/check_circle.png) no-repeat;
    background-size: 3%;
    background-position: left 8px;
    padding-left: 4%;
}
.sec03 dl dd{
    margin-bottom: 20px;
    padding-bottom: 2%;
}
.sec03 dl .bb{
    border-bottom: 1px solid #9acfed;
}
.sec03 .box_bottom {
    width: 757px;
    margin: 0 auto;
}
.sec03 .box_bottom .font_small{
    font-size: 1.5rem;
}
.sec03 .box_bottom .font_italic{
    font-size: 3.2rem;
}
.sec03 .box_bottom .font_italic .font_big{
    font-size: 5.1rem;
}
.sec03 .box_bottom .font_italic{
    background: url(../images/tilt_dotted_left.png),url(../images/tilt_dotted_right.png);
    background-repeat: no-repeat,no-repeat;
    background-size: 4%;
    background-position: left 35px,right 35px;
}
.contact_area{
    background: url(../images/contact_bg.png) no-repeat;
    background-size: 60%;
    height: 380px;
    padding: 14% 0;
    background-position: right;
}
.contact_area .btn{
    position: static;
    width: 420px;
    height: 60px;
    line-height: 60px;
    background: rgb(255,87,92);
    background: linear-gradient(0deg, rgba(255,87,92,1) 0%, rgba(255,132,23,1) 100%);
    color: #fff;
    font-size: 2.7rem;
    font-weight: 500;
    box-sizing: border-box;
    display: block;
    text-align: center;
}
.sec05 h2{
    font-size: 3rem;
    background: #434650;
    padding: 1.2%;
    width: 644px;
    margin: 0 auto 50px;
}
.sec05 .en{
    color: transparent;
    background: repeating-linear-gradient( 0deg, #717687 0, #b3bad1 100% );
    -webkit-background-clip: text;
}
.sec05 h3{
    background: #434650;
    border-radius: 100px;
    font-size: 2.2rem;
    padding: 1.2% 0 0.2%;
    width: 23%;
    margin: 0 auto 20px;
    filter: drop-shadow(0px 6px 0px #000);
}
.sec05 .box p{
    font-size: 3.2rem;
}
.sec05 .box .font_small{
    font-size: 2rem;
}
.sec05 .box{
    margin-bottom: 40px;
}
.check_orange li{
    background: url(../images/check_orange.png) no-repeat;
    background-size: 2%;
    background-position: 28%;
}
.check_orange .bg_none{
    background: none;
}
.sec06 h2{
    font-size: 2.6rem;
    margin-bottom: 50px;
}
.flow{
    margin-bottom: 90px;
}
.sec06 p{
    font-size: 2.4rem;
}
.sec06 .bb{
    border-bottom: 2px dashed #c054a1;
}
/*------------------------
     -1024
------------------------*/
@media screen and (max-width: 1024px) {
html{
    font-size: 50%;
}
header{
    width: 98%;
}
.mv_area{
    width: 98%;
}
#page-top img{
    display: none;
}
section {
    width: 94%;
}
.pcnone {
    display:none;
}
#page-top img{
    display: none;
}
.btn {
    top: 84%;
    width: 49%;
}
.sec01_img{
    padding-top: 0;
    width: 23%;
}
.sec02 img {
    width: 27%;
}
}
/*------------------------
     -768
------------------------*/
@media screen and (max-width: 768px) {
header{
    width: 98%;
}
.btn {
    top: 82%;
    width: 50%;
}
.sec02 img {
    padding-top: 6%;
}
.sec03 .box p,
.sec03 .box_bottom  {
    width: 100%;
}
.sec03 .box_bottom .font_italic {
    background-position: 8% 25px,92% 25px;
}
.contact_area {
    background-size: 51%;
    padding: 11% 0;
    height: auto;
}
.contact_area .btn {
    width: 47%;
    position: static;
    top: 26%;
}
footer ul{
    width: 34%;
}
#page-top img{
    display: none;
}
}
/*------------------------
▽ PC表示とスマホ表示の分かれ目　▽
------------------------*/
@media screen and (min-width: 600px) {

}
/*------------------------
△　PC表示とスマホ表示の分かれ目　△
------------------------*/

/*------------------------
スマホ320~599px
------------------------*/
@media screen and (min-width: 320px) and (max-width: 599px) {
html {
  font-size: 52%;
}
body {
	width:100%;
}
.sp_block,
.pcnone {
	display:block
}
.spnone {
    display:none
}
.pc_block{
    display: inline;
}
.sp_noflex {
    display:block;
}
.sp_flex_space{
    display:flex;justify-content:space-between
}
.sec_wrap {
  width:100%;
  padding:0;
}
section{
	width: 100%;
    padding: 14% 3%;
    margin: 0 auto;
}
/*▼ footer ▼*/
footer {
	padding: 2%;
    font-size: 1.4rem;
    font-style: normal;
}
.footer_inner {
    width: 92%;
    margin: 0 auto;
    padding: 2.60416% 0;
}
footer li {
    text-align: left;
}
footer ul{
	width: 100%;
	text-align: left;
}
.logo {
    width:23%;
    display: block;
}
#page-top img {
    display: none;
}
.copy{
	margin-bottom: 10px;
}
/*▲ footer ▲*/
header{
    background: url(../images/sp_mv.jpg) no-repeat;
    background-size: 100%;
    background-position: top center;
    width: 100%!important;
}
.mv_area{
    width: 100%;
}
.btn {
    top: 84%;
    width: 94%;
    margin: 0 auto;
    left: 3%;
    font-size: 2.2rem;
}
h1 {
    font-size: 2.8rem;
    margin-bottom: 40px;
}
.sec01 .font_small {
    font-size: 2rem;
}
.sec01 h2 {
    padding: 3%;
    font-size: 2.6rem;
    width: 100%;
    margin-bottom: 50px;
}
.sec01_img {
    width: 43%;
    margin: 0 auto 20px;
}
.sec01 ul {
    font-size: 2rem;
}
.sec01 ul li {
    background-size: 5%;
    background-position: left 5px;
    padding-left: 6%;
    line-height: 1.4;
}
.sec02 img {
    width: 47%;
    margin: 0 auto;
}
.sec03 .point {
    width: 19%;
    margin-bottom: 18px;
}
.sec03_img {
    margin-bottom: 30px;
}
.sec03_img01 {
    width: 30%;
}
.sec03 .box {
    margin-bottom: 70px;
}
.sec03_img02 {
    width: 49%;
}
.sec03_img03 {
    width: 38%;
}
.sec03 h3{
    width: 100%;
}
.sec03 .last {
    margin-bottom: 120px;
}
.ex {
    top: -77px;
    left: 39%;
    width: 19%;
}
.sec03 dl dt {
    background-size: 7%;
    padding-left: 9%;
}
.sec03 .box_bottom .font_italic{
    background-position: 0% 5px,99% 5px;
    background-size: 6%;
    font-size: 2.8rem;
    line-height: 1.4;
}
.contact_area {
    background-size: 97%;
    padding: 20% 0;
    height: auto;
    margin: 0 auto;
}
.contact_area .btn {
    width: 94%;
    position: static;
    margin: 0 auto;
}
.sec05 h2{
    width: 100%;
}
.sec05 h3{
    width: 50%;
}
.sec06 p {
    font-size: 2rem;
}
.check_orange li {
    background-size: 3%;
    background-position: 0%;
}
}
