@charset "UTF-8";

/* ==================================================
common
===================================================== */
body{
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size: 14px;
line-height: 1.6em;
color: #333;
font-feature-settings: "palt";
}

img{ display: block; width: 100%;}
a img:hover{opacity: .8;}

.pc{ display: block !important;}@media(max-width:780px){.pc{ display: none !important;}}
.sp{ display: none !important;}@media(max-width:780px){.sp{ display: block !important;}}

.noto{
font-family:'Noto Sans JP', sans-serif;
}

/* wrap
---------------------------------------------------------- */
.wrap{
max-width: 1080px;
min-width: 0px;
padding: 0 10px;
margin: 0 auto;
position: relative;
}

/* h
---------------------------------------------------------- */
h2{
text-align: center;
color: #100f3a;
font-size: 2.4em;
font-weight: 500;
letter-spacing: .1em;
margin-bottom: 3em;
}
h2 span{
font-size: 1.2em;
}


/* header
---------------------------------------------------------- */
header{
width: 100%;
position: relative;
}
.logo{
width: 158px;  
}
header .tex{
width: 240px;
position: absolute;
left: 180px;
top: 18px;
}
header .tel{
width: 286px;
position: absolute;
right: 20px;
top: 10px;
}


/* mv
---------------------------------------------------------- */
.mv {
background: #0c1357 url(../img/mv.jpg) no-repeat center center;
height: 570px;
position: relative;
background-size: cover;
}
.mv .tit{
position: absolute;
width: 501px;
top: 60px;
left: -58vw;
right: 0;
margin: auto;
}
.mv .btn_tex {
position: absolute;
right: 100px;
width: 260px;
top: 350px;
}
.mv .btn1 {
position: absolute;
right: 230px;
width: 160px;
top: 390px;
}
.mv .btn2 {
position: absolute;
right: 60px;
width: 160px;
top: 390px;
}


/* cts
---------------------------------------------------------- */
.cts{
padding: 80px 0;
position: relative;
}


/* cts1
---------------------------------------------------------- */
.cts1 {
background: url(../img/cts1.jpg) no-repeat center bottom;
/* height: 370px; */
}
.cts1 ul {
background: #fff;
display: inline-block;
padding: 2em 2.6em;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
position: absolute;
right: 0;
top: 160px;
width: 560px;
left: 30vw;
margin: 0 auto;
}
.cts1 ul li{
font-size: 1.4em;
line-height: 1.9;
color: #043491;
}
.cts1 ul li:before {
content: '';
background-image: url(../img/ico_list.png);
background-size: contain;
display: inline-block;
width: 20px;
height: 21px;
font-size: 1.4em;
line-height: 1.9;
color: #043491;
position: relative;
left: -0.2em;
top: 0.1em;
}
.cts1_inner {
width: 70%;
margin: 0 auto;
background: rgba(255, 255, 255, 0.5);
padding: 2%;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
text-align: center;
border-radius: 6px;
}
.cts1_inner .box {
border: 3px solid #5068aa;
margin-bottom: 2em;
padding: 2em 0 0;
border-radius: 6px;
}
.cts1_inner .tex{
font-size: 1.4em;
line-height: 1.5;
color: #043491;
margin-bottom: 1.2em;
}
.cts1_inner .tex:before {
content: '';
background-image: url(../img/ico_list.png);
background-size: contain;
display: inline-block;
width: 20px;
height: 21px;
font-size: 1.4em;
line-height: 1.9;
color: #043491;
position: relative;
left: -0.2em;
top: 0.1em;
}
.cts1_inner .img{
  height: 240px;
  width: 70%;
  margin: 0 auto 1em;
  background-color: #ccc;
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}
.img.no01{background-image: url(../img/cts1_img01.jpg);}
.img.no02{background-image: url(../img/cts1_img02.jpg);}
.img.no03{background-image: url(../img/cts1_img03.jpg);}
.img.no04{background-image: url(../img/cts1_img04.jpg);}




/* cts2
---------------------------------------------------------- */
.cts2 {
background: url(../img/cts2.png) no-repeat top center;
position: relative;
background-size: cover;
}
.cts2 h2 {
padding: 100px 0;
color: #fff;
font-size: 3.8em;
line-height: 1.2;
margin: 0;
}

.cts2_inner{
background: rgba(0, 0, 0, 0.4);
color: #fff;
margin-bottom: 1em;
}
.cts2_inner div .tit {
font-size: 2em;
padding: 1em 0 1em 2.5em;
margin: 1em 0 0;
}
.cts2_inner div .tex{
font-size: 1.1em;
line-height: 2;
font-family:'Noto Sans JP', sans-serif;
}

.no1{
background: url(../img/ico_1.png) no-repeat left center;
background-size: 2em;
}
.no2{
background: url(../img/ico_2.png) no-repeat left center;
background-size: 2em;
}
.no3{
background: url(../img/ico_3.png) no-repeat left center;
background-size: 2em;
}
.no4{
background: url(../img/ico_4.png) no-repeat left center;
background-size: 2em;
}


.cts3 > .wrap > .tit{
width: 70%;
margin: 0 auto 80px;
}
.cts3_box {
margin-bottom: 3em;
min-height: 500px;
position: relative;
}
.cts3_box .tit{
text-align: center;
font-size: 1.8em;
margin: 1em 0;
}
.cts3_box .tex{
font-size: 1.1em;
line-height: 2;
font-family:'Noto Sans JP', sans-serif;
}
.cts3_box .img{
height: 240px;
background-color: #fafafa;
width: 100%;
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}
.cts3_box .img{
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}
.cts3img1{background-image: url(../img/cts3_img1.jpg);}
.cts3img2{background-image: url(../img/cts3_img2.jpg);}
.cts3img3{background-image: url(../img/cts3_img3.jpg);}
.cts3img4{background-image: url(../img/cts3_img4.jpg);}



.ico_no {
width: 60px;
position: absolute;
left: -25px;
top: -25px;
}
.cta {
background: #1c346a url(../img/cta_bg.jpg) no-repeat top -5px center;
text-align: center;
background-size: 60%;
padding: 120px 0 90px;
color: #fff;
font-family: 'Noto Sans JP', sans-serif;
}
.cta .logo{
width: 160px;
margin: 0 auto 2em;
}
.cta .tit {
line-height: 1.5;
}
.cta .tit p:nth-child(1){
font-size: 2.2em;
}
.cta .tit p:nth-child(2){
font-size: 2.8em;
margin-bottom: .6em;
}
.btn a {
display: block;
background: url(../img/btn_bg.png) no-repeat center center;
text-align: center;
color: #fff;
margin: 0 auto;
background-size: contain;
padding: 1em 0 1.5em;
font-size: 1.8em;
letter-spacing: .1em;
text-decoration: none;
line-height: 1;
}
.btn a:hover {
opacity: .678;
}

.cts4_box_wrap{
padding: 100px 0 0;
}
.cts4_box{
padding: 2em;
background: #f6f8fb;
border-radius: 20px;
box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
margin-bottom: 1em;
}
.cts4_box .tit{
font-size: 1.4em;
padding: 1em 0 1em 2.5em;
margin: 1em 0 0;
}
.cts4_box .fr p{
background: #fff;
font-family: 'Noto Sans JP', sans-serif;
padding: 2em;
text-align: justify;
font-size: .9em;
letter-spacing: .1em;
line-height: 2.3;
margin: 3em 0 0;
}
.cts4 p{
text-align: center;
font-size: 2.2em;
padding: 1em 0 0;
line-height: 1.8;
color: #1c346a;
font-family: 'Noto Sans JP', sans-serif;
}

.cts5{
background: url(../img/cts5_bg.png) no-repeat top center;
background-size: cover;
padding: 200px 0;
position: relative;
top: -80px;
margin-bottom: -78px;
}
.cts5 h2{
color: #fff;
}
.cts5_inner{
width: 933px;
margin: 0 auto;
}

.cts6{
background: url(../img/cts6_bg.jpg) no-repeat center center;
background-size: cover;
}
.cts6_inner{
background: #fff;
border-radius: 10px;
margin-bottom: 1.67em;
padding: 2em;
box-shadow: 0 0 5px 5px rgba(0,0,0,0.1);
}
.cts6_inner .fl {
text-align: center;
font-size: 2em;
line-height: 1.3;
color: #1d3672;
position: relative;
}
.cts6_inner .sankaku {
color: #1d3672;
font-size: 2em;
position: relative;
left: -5.9em;
top: 3.7em;
}
.cts6_inner .fr{
font-family: 'Noto Sans JP', sans-serif;
font-size: 1.2em;
line-height: 2;
min-height: 4.5em;
}

.cts7{
background: url(../img/cts7_bg.jpg) no-repeat bottom center;
background-size: cover;
}
.cts7_inner{
margin-bottom: 3em;
color: #233970;
line-height: 2;
font-family: 'Noto Sans JP', sans-serif;
}

dl.faq {
font-family: 'Noto Sans JP', sans-serif;
background: #e8f0f7;
padding: 16px 40px;
border-radius: 20px;
margin-bottom: 24px;
}
dl.faq dt {
font-weight: 600;
font-size: 1.4em;
padding:1em 2em;
background: url(../img/ico_Q.png) no-repeat left center;
}
dl.faq dd {
font-size: 1.1em;
letter-spacing: .1em;
line-height: 1.8;
font-weight: 300;
}
dl.faq dd p{
font-weight: 500;
color: #ca0000;
}

footer{
position: relative;
height: 130px;
}
footer .logo {
position: absolute;
left: 40px;
top: 26px;
width: 140px;
}
footer .tex {
position: absolute;
left: 200px;
top: 30px;
width: 220px;
}
footer .tel{
width: 286px;
position: absolute;
right: 20px;
top: 32px;
}
footer p {
position: absolute;
left: 200px;
top: 65px;
font-size: 0.86em;
}
footer p a{
text-decoration: none;
color: #043491;
font-family: 'Noto Sans JP', sans-serif;
}
footer p a:hover{
opacity: .678;
}



/*  form_area
---------------------------------------------------------- */
.form_area{
width: 60%;
margin: 3em auto;
background: #fff;
padding: 0;
color: #000;
text-align: left;
}
dl{
background: #fff;
padding: 40px;
}
dl.form > dt {
clear: both;
float: left;
width: 16em;
padding: 17px 0 0;
position: relative;
}
dl.form > dt > span.hissu {
background: #9d0000;
color: #fff;
font-size: .8em;
padding: 3px 1em;
margin: 0 0 0 1em;
position: absolute;
right: 1.5em;
}
dl.form > dt > span.nini{
background: #d0d0d0;
color: #fff;
font-size: .8em;
padding: 3px 1em;
margin: 0 0 0 1em;
position: absolute;
right: 1.5em;
}
dl.form > dd {
padding: 10px 0 0 17em;
margin: 0 0 10px;
}
dl.form > dd > input{
border: 0;
outline: none;
background: #f5f5f5;
padding: 8px 2%;
width: 96%;
font-size: 1rem;
}

dl.form > dd > input[type="date"],
dl.form > dd > input[type="time"]{
width: 40%;
}
dl.form > dd input[type="radio"]{
position: relative;
top: -3px;
margin-right: 8px;
}
dl.form > dd .add_no{
width: 8em !important;
}
dl.form > dd .caution{
color: #c30000;
font-size: .7em;
line-height: 1.6;
}
dl.form > dd select {
font-size: 1em;
height: 2.4em;
padding: .5em 3.5em 0.5em 0.7em;
border: 1px solid #dadada;
}
dl.form > dd > textarea{
border: 0;
outline: none;
background: #f5f5f5;
padding: 8px 2%;
width: 96%;
font-size: 1rem;
height: 12em;
}
dl.form input.btn {
text-align: center;
border-radius: 2px;
background: #2a588f;
background: -moz-linear-gradient(top, #2a588f 0%, #13335c 100%);
background: -webkit-linear-gradient(top, #2a588f 0%,#13335c 100%);
background: linear-gradient(to bottom, #2a588f 0%,#13335c 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2a588f', endColorstr='#13335c',GradientType=0 );
border: 0;
display: block;
color: #fff;
font-size: 1.2rem;
padding: 16px 4.7em;
margin: 40px auto 0;
letter-spacing: .1em;
text-indent: .1em;
}
dl.form input.btn:hover{
opacity: .8;
}
.age{
width: 4em !important;
margin-right: 0.5em !important;
}
dd.add2{
padding: 1.1em 0 0 !important;
}
dl p{
margin: 1.3em 0 1em;
}
dl.form textarea {
border: 0;
outline: none;
background: #f5f5f5;
padding: 8px 2%;
width: 96%;
font-size: 1rem;
height: 12em;
}
label {
line-height: 3.2;
font-size: 1em;
padding-left: .5em;
position: relative;
top: .1em;
margin-bottom: 0.5em;
}
.cb{
  text-align: center;
}
.cb span{
display: block;
font-size: .8em;
color: #4a4a4a !important;
}
.cb span a{
  color: #894242;
}
.cb span a:hover{
opacity: .66;
}

h3 {
background: #152985;
font-size: 1.2em;
margin-bottom: 1em 0 2em;
color: #fff;
padding: .3em 1em .2em;
letter-spacing: .02em;
}
h3.add{
  margin: 6em 0 1em;
}

select{
    outline:none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
}
select option{
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #828c9a;
}

.select-wrap {
    position:relative;
}
.select-wrap:before {
    z-index: 1;
    position: absolute;
    right: 15px;
    top: 0;
    content: "\f123";
    font-family: "IonIcons";
    line-height: 43px;
    color: #7F878C;
    pointer-events: none;
}

.tel_btn{
text-align: center;
}
.tel_btn a{
  text-decoration: none;
border-radius: 2px;
background: #959595;
background: -moz-linear-gradient(top, #959595 0%, #5e5e5e 100%);
background: -webkit-linear-gradient(top, #959595 0%,#5e5e5e 100%);
background: linear-gradient(to bottom, #959595 0%,#5e5e5e 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#959595', endColorstr='#5e5e5e',GradientType=0 );
border: 0;
display: inline-block;
color: #fff;
font-size: 1.2rem;
padding: 16px 4em;
margin: 20px auto 0;
letter-spacing: .1em;
text-indent: .1em;
color: #fff !important;
}
.tel_btn a:hover{
opacity: .678;
}
.cs{
  text-align: center;
  font-size: .9em;
}

@media(max-width:780px){
.cts1_inner .box {
border: 3px solid #5068aa;
margin-bottom: 2em;
padding: 0 0 0;
border-radius: 6px;
margin: 0 auto 1em;
width: 98%;
}
.cts1_inner {
width: 90%;
margin: 0 auto;
background: rgba(255, 255, 255, 0.5);
padding: 2%;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
text-align: center;
border-radius: 6px;
}
.cts1_inner .img {
height: 180px;
width: 100%;
}
.cts2 h2 {
padding: 100px 0;
color: #fff;
font-size: 2.3em;
line-height: 1.2;
margin: 0 0 1em;
}
.cts1_inner .tex {
margin-bottom: 0.6em;
}
}/* @media */


@media(max-width:1000px){
dl.form > dd > input[type="date"],
dl.form > dd > input[type="time"]{
width: 96%;
}
dl.form > dd {
padding: 0px 0 0 0;
border-top: 0;
margin: 0 0 0px;
width: 100%;
}
dl.form > dt {
padding: 16px 0 8px 3px;
width: 100%;
}
dl.form > dd.add {
border-bottom: 0;
padding-bottom: 0;
}
dl.form input.btn {
padding: 16px 0px;
margin: 40px auto 0;
letter-spacing: 0em;
text-indent: 0em;
width: 100%;
}
.form_area {
padding: 0px 0 40px;
margin-bottom: 0;
}
.form_area > .inner {
background: #fff;
padding: 10px 0 20px;
}
dl.form > dd select {
font-size: 1.1em;
height: 2.5em;
display: block;
width: 100%;
background: #efefef;
border: 0;
}
dl.form > dt > span.nini ,
dl.form > dt > span.hissu {
position: relative;
right: 0;
top: -0.2em;
}
.form_area > .inner {
background: #fff;
margin: 0 10px;
}
}/* @media */



@media(max-width:736px){
.logo {
width: 90px;
}
header .tex {
width: 160px;
position: absolute;
left: 100px;
top: 10px;
}
header .tel {
display: none;
}
h2 {
text-align: center;
color: #100f3a;
font-size: 6vw;
font-weight: 500;
letter-spacing: 0em;
margin-bottom: 1em;
line-height: 1.3;
}
.cts1 ul {
background: #fff;
display: block;
padding: 2em 5% 1em;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
position: relative;
right: 0;
top: 0px;
width: 80% !important;
margin: 0 auto;
font-size: 0.8em;
left: initial;
}
.cts1 ul li {
font-size: 1.5em;
line-height: 1.4;
color: #043491;
padding: 0 0 1em 1.5em;
position: relative;
}
.cts1 ul li:before {
content: '';
background-image: url(../img/ico_list.png);
background-size: contain;
display: inline-block;
width: 15px;
height: 16px;
font-size: 1.4em;
line-height: 1.9;
color: #043491;
position: relative;
left: 0.1em;
top: 0.1em;
position: absolute;
}
.cts1 {
background: url(../img/cts1.jpg) no-repeat bottom 12vw left -70vw;
/* height: 148vw; */
background-size: 340vw;
}
.cts2 {
top: 0vw;
background-size: cover;
margin-bottom: 0vw;
padding: 28vw 0 10vw !important;
}
.cts2 h2 {
padding: 0;
}
.cts2_inner div .tit {
font-size: 1.4em;
padding: 1em 0 1em 2.5em;
margin: 0em 0 0;
}
.cts2_inner div .tex {
font-size: 1em;
}
.cts2_inner {
width: 96%;
margin: 0 auto 1em;
}
.cts3_box .tit {
text-align: center;
font-size: 1.5em;
margin: 1em 0 0.5em;
}
.cts3_box .tex {
font-size: 1em;
}
.cts3 > .wrap > .tit {
width: 100%;
margin: 0 auto 50px;
}
.ico_no {
width: 60px;
position: absolute;
left: 5px;
top: 5px;
}
.cts3_box {
margin-bottom: 3em;
min-height: initial;
position: relative;
}
.cts3_box:last-child {
margin-bottom: 0;
}
.cta .logo {
width: 31vw;
}
.cta .tit p:nth-child(1) {
font-size: 1.2em;
}
.cta .tit p:nth-child(2) {
font-size: 1.8em;
}

.btn a {
display: block;
background: url(../img/btn_bg.png) no-repeat center center;
text-align: center;
color: #fff;
margin: 0 auto;
background-size: contain;
padding: 3vw 0 5vw;
font-size: 4.4vw;
letter-spacing: .1em;
text-decoration: none;
line-height: 1;
}
.cta {
background: #1c346a url(../img/cta_bg.jpg) no-repeat top center;
text-align: center;
background-size: 100vw;
padding: 17vw 0 12vw;
color: #fff;
font-family: 'Noto Sans JP', sans-serif;
}
.cts4_box_wrap {
padding: 20px 0 0;
}
.cts4_box {
padding: 1em;
background: #f6f8fb;
border-radius: 5px;
box-shadow: 0px 2px 2px rgba(0,0,0,0.4);
margin-bottom: 1em;
}
.cts4_box .fr p {
background: #fff;
font-family: 'Noto Sans JP', sans-serif;
padding: 1em;
text-align: justify;
font-size: 0.9em;
letter-spacing: 0em;
line-height: 2.3;
margin: 1em 0 0;
}
.cts4 p {
font-size: 1.4em;
}
.cts5_inner {
width: 100%;
margin: 0 auto;
}
.cts5 {
background: url(../img/cts5_bg.png) no-repeat top center;
background-size: cover;
padding: 23vw 0 10vw !important;
position: relative;
top: -16vw;
margin-bottom: -16vw;
}
.cts6_inner {
background: #fff;
border-radius: 5px;
margin-bottom: 1em;
padding: 1em;
box-shadow: 0 0 5px 5px rgba(0,0,0,0.1);
}
.cts6_inner .fr {
font-family: 'Noto Sans JP', sans-serif;
font-size: 1em;
line-height: 1.6;
min-height: initial;
}
.cts6_inner .fl {
text-align: left;
font-size: 1.3em;
line-height: 2;
color: #1d3672;
position: relative;
}
.cts6_inner .sankaku {
color: #1d3672;
font-size: 1.2em;
position: relative;
left: 0.6em;
top: 1.9em;
}
.cts7_inner .clm2_13{
  width: 20vw;
  margin: 0 auto 1em;
}
.cts7_inner .clm2_83{
width: 80%;
margin: 0 auto 3em;
font-size: 1em;
}
.cts7 {
background: url(../img/cts7_bg.jpg) no-repeat bottom center;
background-size: 200vw;
}
dl.faq {
font-family: 'Noto Sans JP', sans-serif;
background: #e8f0f7;
padding: 6px 20px;
border-radius: 6px;
margin-bottom: 10px;
}
dl.faq dt {
font-weight: 600;
font-size: 1.2em;
padding: 1em 1em 1em 2em;
background: url(../img/ico_Q.png) no-repeat left center;
background-size: 1.4em;
}

dl {
background: #fff;
padding: 10px;
}
.form_area {
width: 96%;
margin: 2em auto;
background: #fff;
padding: 0;
color: #000;
text-align: left;
}
.tel_btn a {
font-size: 1rem;
padding: 16px 0em;
width: 100%;
}
footer .tel {
display: none;
}
footer .logo {
position: relative;
left: initial;
top: initial;
width: 100px;
margin: 1em auto;
}
footer .tex {
display: none;
}
footer p {
position: relative;
left: initial;
top: initial;
font-size: 0.86em;
text-align: center;
}
footer {
position: relative;
height: initial;
padding: 2em 0;
}

.mv_sp{
  position: relative;
}
.btn_tex {
position: absolute;
top: 122vw;
width: 50vw;
right: 8vw;
}
.btn1 {
position: absolute;
width: 30vw;
right: 34vw;
top: 131vw;
}
.btn2 {
position: absolute;
width: 30vw;
right: 2vw;
top: 131vw;
}
.cts {
padding: 10vw 0;
position: relative;
}


}/* @media */














