/*-----------------------
 body
-------------------------*/
body{
padding:70px 0 0 0;
margin: 0 auto;
width: 100%;
max-width: 1920;
background-color: #fff;
}
.wrap{
width:960px;
margin: 0 auto;
}
/*-----------------------
 header
-------------------------*/
header{
width: 100%;
height: auto;
background-color: #fff;
z-index: 800;
position: fixed;
top: 0;
left: 0;
}
header .wrap{
display: flex;
  align-items: center;
  justify-content: space-between;
  padding:0;
}
header .wrap .logo{
position: relative;
}
header .wrap .logo h1{
position: absolute;
left:7em;
top:0.35em;
font-size: 1.2rem;
font-weight: bold;
color: #363636;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
header .wrap .logo img{
width: auto;
height:70px;
max-height: 70px;
}
header .wrap .telmail{
	display:flex;
	justify-content:flex-end;
	align-items: center;	
}
header .wrap .telmail a.btn{
font-size: 1.5rem;
color: #fff;
font-weight: bold;
padding:0.75em 1.5em;
margin-left: 1em;
background-color: #FC6B00;
border: 1px solid #FC6B00;
}
header .wrap .telmail a.btn:hover{
background-color:#fff;
color:#FC6B00; 
}
header .wrap .telmail a.btn img{
display: none;
}

header .wrap .telmail .tel{
font-weight: bold;
}
header .wrap .telmail .tel a{
font-size:2.5rem;
	display:flex;
	justify-content:flex-start;
	align-items: center;
}
header .wrap .telmail .tel a img{
margin-right: 0.125em;
}

header .wrap .telmail .tel p{
font-size:1.1rem;
margin-top: 0.5em;
padding-left: 1.5em;
}


/*-----------------------
 mv
-------------------------*/
section.mv{
width: 100%;
height: auto;
background-image: url("../images/mv_back.svg");
background-position: center bottom;
background-size: auto 119%;
background-repeat: repeat-x;
font-weight: bold;
}
section.mv .wrap{
padding:2vw 0;
}
section.mv .upper{
display: flex;
  justify-content:space-between;
  align-items: center;
}
section.mv .upper p:nth-of-type(1){
font-size: 2.4rem;
color: #fff;
background-color:#01317b;
padding: 0.25em 0.5em
}
section.mv .upper p:nth-of-type(1) strong{
font-size: 3rem;
}
section.mv .upper > span{
position: relative;
padding:0.5em 1em;
border-radius: 0.5em;
background-color: #fff;
z-index: 1;
}
section.mv .upper > span img{
width: auto;
height: auto;
max-height: 25px;
margin: 0 0.25em;
}
section.mv .upper > span span{
color: #01317b;
position: absolute;
width: 100%;
text-align: center;
top: -0.55em;
left:50%;
transform: translateX(-50%); 
z-index: 2;
  font-size      : 1.2rem;               /* 文字のサイズ */
  letter-spacing : 1px;                /* 文字間 */
  text-shadow    : 
       1px  1px 1px #FFFFFF,
      -1px  1px 1px #FFFFFF,
       1px -1px 1px #FFFFFF,
      -1px -1px 1px #FFFFFF,
       1px  0px 1px #FFFFFF,
       0px  1px 1px #FFFFFF,
      -1px  0px 1px #FFFFFF,
       0px -1px 1px #FFFFFF;        /* 文字の影 */
}
section.mv h2{
font-size: 5rem;
color: #fff;
margin: 0.5em 0;
    -moz-text-align-last: justify;
     text-align-last: justify;
     text-justify:inter-ideograph;
}
section.mv h2 strong{
font-size: 6rem;
}
section.mv h2 span{
color: #fece00;
}

section.mv ul.point{
display: flex;
  justify-content:space-between;
  align-items:stretch;
}
section.mv ul.point li{
width: 23%;
background-color: #fff;
border-radius:15px 0 15px 15px;
text-align: center;
padding: 0 0 1em 0;
}
section.mv ul.point li p:nth-of-type(1){
font-size: 1.7rem;
padding: 0.5em 0;
border-radius:15px 0 0 0;
background-color: #fece00;
}
section.mv ul.point li p:nth-of-type(2){
font-size: 2.4rem;
margin: 0.5em 0;
}
section.mv ul.point li p:nth-of-type(2) strong{
font-size: 4rem;
}
section.mv ul.point li p:nth-of-type(2) span{
color: #e45252;
}
section.mv ul li p:nth-of-type(3){
font-size: 1.6rem;
margin: 0 auto;
width: 80%;
color: #e45252;
padding: 0.125em;
border: 1px solid #e45252;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

section.mv .under{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
margin-top:2em;
}
section.mv .under .left{
background-color: #01317b;
padding:0 1em;
position: relative;
height:80px;
display: flex;
  justify-content: center;
  align-items: center;
}
section.mv .under .left:after{
content: "";
display: block;
position: absolute;
top: 0;
right: -20px;
  width: 0;
  height: 0;
  border-left:20px solid #01317b;
  border-top:40px solid transparent;
  border-bottom:40px solid transparent;
}

section.mv .under .left p{
font-size: 1.8rem;
color: #fff;
}
section.mv .under .left p strong{
font-size: 3rem;
}


section.mv .under .mid ul{
display: flex;
  justify-content:space-around;
  align-items: center;
  margin-bottom:0.5em;
}
section.mv .under .mid ul img{
width: auto;
height: auto;
max-width: 36px;
max-height: 36px;
margin-right: 0.5em;
}
section.mv .under .mid p{
font-size: 1.2rem;
}
section.mv .under a.btn img{
width: auto;
height: auto;
max-height: 1.8rem;
margin-right: 0.5em
}
section.mv .under a.btn{
cursor: pointer;
display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.6rem;
  background-color: #fc6b00;
  border: 1px solid #fc6b00;
  padding: 0.5em 1em;
  margin-right:2em;
}
section.mv .under a.btn:hover{
opacity: 0.8;
}
section.mv p.all{
width: 100%;
background-color:#fece00;
font-size: 2rem;
text-align: center;
padding: 0.75em 0 0.5em 0;
}

/*-----------------------
 warning
-------------------------*/
aside.warning{
background-color: #aa1e1e;
color: #fff;
padding:1vw 0 1.5vw 0;
}
aside.warning h2{
font-size: 2rem;
font-weight: bold;
display: flex;
  justify-content: center;
  align-items: center;
}
aside.warning h2 img{
margin-right: 0.5em;
width: auto;
height: auto;
max-height: 40px;
}
aside.warning .inner{
width:75%;
display: block;
text-align: center;
border: 1px solid #fff;
padding: 1.5em 0;
border-radius: 1em;
margin:1.5em auto 1em auto;
font-weight: bold;
position: relative;
font-size: 1.6rem;
}
aside.warning .inner p{
text-align: center;
position: absolute;
width: 100%;
top: -0.5em;
font-weight: normal;
}
aside.warning .inner p span{
padding: 0.5em;
background-color: #aa1e1e;
}

aside.warning .inner ul{
display: flex;
  justify-content: center;
  align-items: center;
}
aside.warning .inner ul li{
margin: 0 1em;
}
aside.warning p.txtC{
text-decoration: underline;
font-size: 1.8rem;
}

/*-----------------------
 goto_btn
-------------------------*/
aside.goto_btn{
padding: 2vw 0;
  background-image:
  repeating-linear-gradient(
    90deg,
    #dfe7f3 ,
    #dfe7f3 1px,
    transparent 1px,
    transparent 16px
  ),
  repeating-linear-gradient(
    0deg,
    #dfe7f3 ,
    #dfe7f3 1px,
    #fff 1px,
    #fff 16px
  );
}
aside.goto_btn .wrap a img:nth-of-type(1){
width: auto;
height: auto;
max-width: 60px;
max-height: 70px;
margin-right: 1.5em;
}
aside.goto_btn .wrap{
display: flex;
  justify-content: center;
  align-items: center;
}
aside.goto_btn .wrap a{
display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.8rem;
  background-color:#189833;
  padding: 1em 3em;
  border-radius:0.5em;
  margin: 0 1em;
  line-height:1.5;
  font-weight: bold;
}
aside.goto_btn .wrap a svg{
width: auto;
height: auto;
max-height:30px;
margin-left: 1.5em;
}
aside.goto_btn .wrap a:nth-last-of-type(1){
background-color: #fece00;
color: #333;
}
aside.goto_btn .wrap a:hover{
opacity: 0.8;
}


/*-----------------------
 whats
-------------------------*/
section.whats{
background-color: #53a8fd;
padding: 5vw 0;
}
section.whats h2{
display: flex;
  justify-content: center;
  align-items: center;
color: #fff;
font-size:3.62rem;
font-weight: bold;
}
section.whats h2 strong{
font-size: 1.8rem;
color: #333;
background-color: #fece00;
padding: 0.25em 1em;
border-radius: 1em;
margin-right: 1em;
}
section.whats section{
width: 100%;
background-color: #fff;
padding:2vw;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-radius: 1em;
margin-top:3vw;
}
section.whats section .bg_blue{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
background-color: #cbe5fe;
padding: 1.5em;
border-radius:1.5em;
}
section.whats section .bg_blue img{
width: 100%;
height: auto;
max-width: 100%;
}
section.whats section h3{
font-size: 2rem;
display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
section.whats section h3 img{
width: auto;
height: auto;
max-height:3rem;
margin-right: 0.5em;
}
section.whats section p.catch{
font-size: 1.6rem;
text-align: center;
margin: 2em 0;
line-height: 2;
}
section.whats section p.catch strong{
font-weight: bold;
color: #c60001;
}

section.whats section ul.merit_list{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-top:2vw;
}
section.whats section ul.merit_list li{
width: 23%;
border: 2px solid #53a8fd;
border-radius: 1em;
text-align: center;
padding:2em 0 1.5em 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin-bottom: 2%;
}
section.whats section ul.merit_list li:nth-child(n+5){
margin-bottom:0;
}
section.whats section ul.merit_list li img{
width: auto;
height: auto;
max-width: 100px;
max-height: 80px;
margin-bottom: 1em;
}
section.whats section ul.merit_list li .pic{
display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100px;
}
section.whats section ul.merit_list li p{
line-height: 1.5;
font-weight: bold;
}

section.whats section ul.point{
display: flex;
  justify-content:space-between;
  align-items:stretch;
  margin-top: 2vw;
}
section.whats section ul.point li{
width: 48%;
border: 2px solid #01317b;
border-radius:16px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.whats section ul.point li .title{
width: 100%;
display:block;
font-weight: bold;
background-color: #01317b;
color: #fff;
text-align: center;
padding:20px 0;
border-radius: 14px 14px 0 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.whats section ul.point li .title p:nth-of-type(2){
font-size: 2.8rem;
margin-top: 0.5em;
}
section.whats section ul.point li .title p:nth-of-type(2) strong{
color: #fee67f;
}
section.whats section ul.point li img{
width: auto;
height: auto;
max-width: 75px;
max-height: 85px;
margin-right: 2em;
}
section.whats section ul.point li .text{
padding:2em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 1.6rem;
line-height: 2;
	display:flex;
	justify-content:flex-start;
	align-items: center;
}
section.whats section ul.point li .text strong{
color: #c60001;
font-weight: bold;
}


aside.contact_us{
  padding: 2vw 0;
  background-image: repeating-linear-gradient( 90deg, #dfe7f3 , #dfe7f3 1px, transparent 1px, transparent 16px ), repeating-linear-gradient( 0deg, #dfe7f3 , #dfe7f3 1px, #fff 1px, #fff 16px );
}
aside.contact_us .wrap{
	display:flex;
	justify-content:space-between;
	align-items: center;	
}
aside.contact_us a.btn{
font-size: 1.6rem;
color: #fff;
padding:0.5em 1em;
border-radius: 0.5em;
margin-left: 1em;
background-color: #FC6B00;
border: 1px solid #FC6B00;
min-width: 35%;
}
aside.contact_us a.btn strong{
font-size: 3rem;
font-weight: bold;
}
aside.contact_us a.btn p{
padding:0.25em 0.5em;
text-align: center;
}
aside.contact_us a.btn:hover{
opacity: 0.8;
}
aside.contact_us a.btn img{
display: block;
float: left;
margin:1em;
width: auto;
height: auto;
max-height: 34px;
}


aside.contact_us .tel{
	display:flex;
	justify-content:flex-start;
	align-items:center;
    padding-top: 1em;
}
aside.contact_us .tel a{
font-size:1.8rem;
    margin-right: 0.5em;
}
aside.contact_us .tel a p:nth-of-type(2){
	display:flex;
	justify-content:flex-start;
	align-items: center;
    padding-bottom: 1em;
}
aside.contact_us .tel a span{
font-size: 3.6rem;
font-weight: bold;
}
aside.contact_us .tel a img{
width: auto;
height:3rem;
margin-right: 0.5em;
}

aside.contact_us .tel a p:nth-of-type(1){
font-size:1.8rem;
font-weight: bold;
margin-bottom: 0.5em;
}
aside.contact_us .tel p:nth-last-of-type(1){
}


/*-----------------------
 norikae
-------------------------*/
section.norikae{
background-color: #53a8fd;
padding: 5vw 0;
}
section.norikae h2{
display: flex;
  justify-content: center;
  align-items: center;
color: #fff;
font-weight: bold;
}
section.norikae h2 strong{
font-size:2.8rem;
color: #333;
background-color: #fece00;
padding: 0.5em 3em 0.25em 3em;
border-radius: 1em;
}

section.norikae section{
width: 100%;
background-color: #fff;
padding:0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-radius:14px;
margin-top:3vw;
}
section.norikae section h3:not(.point){
font-size: 2rem;
height: 64px;
border-radius:13px 13px 0 0;
	display:flex;
	justify-content:flex-start;
	align-items: center;	
font-weight: bold;
background-color: #cce5fe;
}
section.norikae section h3:not(.point) strong{
font-size: 2.4rem;
color: #fff;
height: 64px;
background-color: #017efc;
	display:flex;
	justify-content:flex-start;
	align-items: center;
    padding: 0 0 0 1.5em;
    border-radius: 13px 0 0 0;
    min-width: 400px;
    position: relative;
    -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.norikae section h3:not(.point) strong:after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -16px;
  width: 0;
  height: 0;
  border-left: 16px solid #017efc;
  border-top: 32px solid transparent;
  border-bottom: 32px solid transparent;
}
section.norikae section h3:not(.point) span{
width: 60%;
text-align: center;
display: block;
}
section.norikae section > ul{
display: flex;
  justify-content:space-between;
  align-items:stretch;
}
section.norikae section > ul:not(.point) > li{
width: 50%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding:1.5em 0;
text-align: center;
line-height: 2;
}
section.norikae section > ul > li:nth-of-type(1){
border: 5px solid #eeb2b2;
}
section.norikae section > ul > li p.stit{
font-size: 2rem;
font-weight: bold;
display: flex;
  justify-content: center;
  align-items: center;
}
section.norikae section > ul > li p.stit.blue{
color: #2846b4;
}

section.norikae section > ul > li p.stit img{
width: auto;
height: auto;
max-height: 20px;
}
section.norikae section > ul > li p.mid{
font-size: 1.8rem;
font-weight: bold;
}
section.norikae section > ul > li p.mid.big{
font-size:3rem;
line-height: 1;
}
section.norikae section > ul > li p.mid.big strong{
font-size: 4.8rem;
}
section.norikae section > ul > li p.mid.red{
color: #c60001;
}
section.norikae section p.kake{
margin-top: 0.5em;
}
section.norikae p.yel{
text-align: center;
font-size: 2.4rem;
font-weight: bold;
background-color: #fee67f;
padding: 1em 0;
border-radius: 0 0 14px 14px;
}
section.norikae section > ul > li ul.small{
text-align: left;
font-size: 1.8rem;
display: inline-block;
margin-top: 1em;
}
section.norikae section > ul > li ul.small.red{
color: #c60001;
font-weight: bold;
}

section.norikae section.point{
padding-bottom: 2vw;
}
section.norikae section ul.point{
display: flex;
  justify-content:space-between;
  align-items:stretch;
  margin: 2vw auto 0 auto;
  width: 90%;
  
}
section.norikae section ul.point li{
width: 48%;
border: 2px solid #01317b;
border-radius:16px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
line-height: 1;
}
section.norikae section ul.point li .title{
width: 100%;
display:block;
font-weight: bold;
background-color: #01317b;
color: #fff;
text-align: center;
padding:20px 0;
border-radius: 14px 14px 0 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.norikae section ul.point li .title p:nth-of-type(2){
font-size: 2.8rem;
margin-top: 0.5em;
}
section.norikae section ul.point li .title p:nth-of-type(2) strong{
color: #fee67f;
}
section.norikae section ul.point li img{
width: auto;
height: auto;
max-width: 75px;
max-height: 85px;
margin-right: 2em;
}
section.norikae section ul.point li .text{
padding:2em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 1.6rem;
line-height: 2;
	display:flex;
	justify-content:flex-start;
	align-items: center;
}
section.norikae section ul.point li .text strong{
color: #c60001;
font-weight: bold;
}
section.norikae section h3.point{
height: 64px;
font-size: 2.4rem;
font-weight: bold;
display: flex;
  justify-content: center;
  align-items: center;
  padding-top:1em;
}
section.norikae section h3.point img{
width: auto;
height: auto;
max-height: 2.4rem;
}
section.norikae section h3.point span{
min-width: 50%;
text-align: center;
padding: 20px 0;
border-bottom: 5px solid #017efc;
z-index: 1;
position: relative;
}
section.norikae section h3.point span:after{
content: "";
display: block;
position: absolute;
width: 50%;
height: 5px;
background-color:#2846b4;
right: 0;
bottom:-5px;
z-index: 2;
}


/*-----------------------
 nagare
-------------------------*/
section.nagare{
background-color: #53a8fd;
padding: 5vw 0;
}
section.nagare h2{
display: flex;
  justify-content: center;
  align-items: center;
color: #fff;
font-size: 2.4rem;
font-weight: bold;
line-height: 1;
}
section.nagare h2 span{
margin: 0 0.5em;
padding:0;
}
section.nagare h2 span:nth-of-type(1){
border-bottom: 5px solid #fece00;
}
section.nagare h2 span:nth-of-type(1) strong{
color: #fece00;
}
section.nagare h2 span.bbk{
background-color: #0165ac;
padding: 0.5em 1.5em;
}

section.nagare ul{
display: flex;
  justify-content:space-between;
  align-items:stretch;
  margin-top: 3vw;
}
section.nagare ul li{
width: 31%;
background-color: #fff;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-radius: 0 16px 0 0;
position: relative;
}
section.nagare ul li:after{
  content: "";
  display: block;
  position: absolute;
top:50%;
transform: translateY(-30%);   
  right: -20px;
  width: 0;
  height: 0;
  border-left:20px solid #fff;
  border-top:40px solid transparent;
  border-bottom:40px solid transparent;
}
section.nagare ul li:nth-last-of-type(1):after{
display: none;
}

section.nagare ul li p.ttl{
	display:flex;
	justify-content:flex-start;
	align-items: center;
    width: 100%;
    height: 46px;
    -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.nagare ul li p.ttl span:nth-of-type(1){
font-size: 2.4rem;
font-weight: bold;
background-color: #fece00;
width: 46px;
height: 46px;
display: flex;
  justify-content: center;
  align-items: center;
}
section.nagare ul li p.ttl span:nth-of-type(2){
width: 100%;
height: 46px;
display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  background-color: #017efc;
  border-radius: 0 13px 0 0;
}
section.nagare ul li .inn{
width: 100%;
display: flex;
  justify-content: center;
  align-items:flex-start;
  padding:2em;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 1.5;
word-break: break-all;
}
section.nagare ul li .inn img{
width: auto;
height: auto;
max-width: 85px;
max-height: 74px;
margin-right: 1em;
}



/*-----------------------
 contact
-------------------------*/
section.contact{
background-image: repeating-linear-gradient( 90deg, #dfe7f3 , #dfe7f3 1px, transparent 1px, transparent 16px ), repeating-linear-gradient( 0deg, #dfe7f3 , #dfe7f3 1px, #fff 1px, #fff 16px );
}
section.contact h2{
text-align: center;
font-size: 2.4rem;
color: #fff;
background-color: #0099dd;
border-radius: 0.58em;
padding:0.75em 0;
font-weight: bold;
margin-bottom:2vw;
position: relative;
}
section.contact h2 span{
color: #fece00;
}
section.contact h2 strong{
font-size: 3rem;
}
section.contact h2:after{
  content: "";
  display: block;
  position: absolute;
left:50%;
transform: translateX(-50%);   
bottom:-20px;
  width: 0;
  height: 0;
  
  border-left:20px solid transparent;
  border-right:20px solid transparent;
  border-top:20px solid #0099dd;
}
section.contact p.read{
color: #c60001;
font-size: 2.4rem;
text-align: center;
font-weight: bold;
margin:2vw 0 3vw 0;
}
section.contact p.read span{
background: linear-gradient(transparent 80%, #fece00 0%);
}

section.contact .wrap{
padding:3vw 0;
width: 800px;
margin: 0 auto;
}
section.contact .wrap .inner{
width:100%;
margin: 0 auto;
border: 5px solid #0099dd;
border-radius: 1em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
background-color: #fff;
}
section.contact .wrap .inner h2{
text-align: center;
font-size: 3.6rem;
font-weight: bold;
color: #fff;
margin-bottom:0.75em;
}
section.contact .wrap .inner h2 strong{
color: #f1e6ab;
}
section.contact .wrap .inner h2 span{
font-size: 1.7rem;
padding: 0.25em 1em;
border: 1px solid #fff;
display:inline-block;
margin-right: 1em;
}
section.contact .wrap .inner form{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding:3em;
}
section.contact .wrap .inner form table{
display:table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
font-size: 1.4rem;
line-height: 1.5;
border-spacing:0;
}
section.contact .wrap .inner form table td{
padding:1em 0;
border-bottom: 2px solid #dfdfdf;
}
section.contact .wrap .inner form table td.nobor{
border-bottom: none;
padding:2em 0 0.5em 0;
}
section.contact .wrap .inner form table td.nobor .poriformError{

margin-left:1em;
}


section.contact .wrap .inner form table td i{
color: #fff;
background-color: #c51313;
padding: 0 0.25em;
margin-right: 1em;
font-size: 1.4rem;
}
section.contact .wrap .inner form table td i.nini{
background-color: #e89335;
}

section.contact .wrap .inner form table td textarea,
section.contact .wrap .inner form table td input[type=text],
section.contact .wrap .inner form table td input[type=mail]{
font-size: 16px;
padding: 0.5em;
border: none;
background-color: #ddedff;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.contact .wrap .inner form table td textarea{
min-width: 100%;
max-width: 100%;
min-height: 7em;
}

section.contact .wrap .inner form table td input[type=text].short{
width: 40%;
margin-right: 1em;
}
section.contact .wrap .inner form table td:nth-of-type(1){
width: 40%;
font-weight: bold;
}
section.contact .wrap .inner form table td:nth-of-type(2){
width: 60%;
}
section.contact .wrap .inner form table td button{
background-color: #fc6b00;
color: #fff;
font-weight: bold;
font-size: 2rem;
border:1px solid #fc6b00;
padding:0.5em 4em;
cursor: pointer;
}
section.contact .wrap .inner form table td button:hover{
background-color:#fff; 
color: #fc6b00;
}
section.contact .wrap .inner form table td input[type=radio]{
display: none;
}
section.contact .wrap .inner form table td input[type=checkbox]{
visibility: hidden;
}
section.contact .wrap .inner form table td label{
cursor: pointer;
margin-right: 1em;
padding-left: 1.5em;
background-image: url("../images/icon_chk.svg");
background-position:center left;
background-repeat: no-repeat;
background-size: auto 16px;
}
section.contact .wrap .inner form table td input[type=radio]:checked + label,
section.contact .wrap .inner form table td input[type=checkbox]:checked + label{
background-image: url("../images/icon_cheked.svg");
}



/*-----------------------
 footer
-------------------------*/
footer{
background-color: #007efc;
}
footer nav{
width: 100%;
background-color: #fff;
padding: 1em 0;
}
footer nav ul{
max-width:100%;
display: flex;
  align-items: center;
justify-content:space-around;
}
footer nav ul li a{
padding: 0.5em 2em 0.5em 1em;
width: 100%;
}
footer nav ul li{
border-right: 1px solid #ccc;
display: flex;
  justify-content: center;
  align-items: center;
}
footer nav ul li:nth-last-of-type(1){
border-right: none;
}
footer nav ul li a:hover{
text-decoration: underline;
}

footer .wrap{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
footer .copy{
text-align: center;
color:#fff;
font-size: 1.2rem;
padding:2em 0;
}



/*-----------------------
 page-top
-------------------------*/
#page-top{
	width:40px;
	height:40px;
	display:block;
	position:fixed;
	right:5%;
	bottom:5%;
	cursor:pointer;
	  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
  z-index:998;
}
#page-top img{
	width:40px;
	height:40px;
}
#page-top:hover{
	opacity:0.8;
}

header .wrap .telmail a.sp,
header nav.g-nav aside.bannur_btn,
#humbt,
#chk{
display: none;
}



/*---------------------------------------------*
* width 960px
*----------------------------------------------*/
@media screen and (max-width:960px) {
.wrap {
  width:98%;
  margin: 0 auto;
}
header nav.g-nav div {
  width: 100%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
header nav.g-nav div a {
  padding: 0 0 0 0.25em;
  }
header nav.g-nav div a:nth-last-of-type(1) {
  padding: 0;
}  

section.mv h2 {
  font-size: 5vw;
}
section.mv h2 strong {
  font-size: 6vw;
}

section.mv ul.point {
  display: flex;
  justify-content:center;
  align-items: stretch;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

section.mv ul.point li {
  width:38%;
  background-color: #fff;
  border-radius: 15px 0 15px 15px;
  text-align: center;
  padding: 0 0 1em 0;
  margin:0 1% 1em 1%;
}
section.mv .under {
  width:auto;
  justify-content:center;
  background-color:transparent;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.mv .under .left {
  display: flex;
  margin-right: 2em;
}
section.mv .under .mid{
height: 80px;
background-color: #fff;
padding: 1em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.mv .under a.btn {
  margin:1em 0 0 0;
}
aside.warning .inner {
  width:100%;
}
aside.goto_btn .wrap a {
  font-size: 1.6rem;
  padding:1em;
  margin: 0 0.5em;
}
aside.goto_btn .wrap a img:nth-of-type(1) {
  max-width: 6vw;
  max-height: 7vw;
}
section.whats h2 {
  font-size: 3.6vw;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.whats h2 strong {
  font-size: 1.8vw;
}

section.whats section {
  padding:4vw 2vw;
  margin-top:6vw;
}

section.norikae section ul.point li .title,
section.whats section ul.point li .title {
  padding: 2vw 0;
  font-size: 1.8vw;
}
section.norikae section ul.point li .title p:nth-of-type(2),
section.whats section ul.point li .title p:nth-of-type(2) {
  font-size: 3vw;
}
section.norikae section ul.point li .text,
section.whats section ul.point li .text {
  padding: 2vw;
}
section.norikae section ul.point li img,
section.whats section ul.point li img {
  max-width: 7vw;
  max-height: 8vw;
  margin-right:1em;
}

section.norikae section h3.point span {
  min-width:60%;
  padding: 2vw 0;
}


aside.contact_us .wrap {
  justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
aside.contact_us a.btn {
  font-size: 1.6rem;
  color: #fff;
  padding: 0.5em 1em;
  border-radius: 0.5em;
  margin-left: 1em;
  background-color: #FC6B00;
  border: 1px solid #FC6B00;
  min-width:50%;
}
aside.contact_us a.btn img {
  max-height: 3vw;
}
aside.contact_us a.btn strong {
  font-size: 3vw;
}
section.norikae h2 strong {
  font-size: 2.8vw;
  color: #333;
  padding: 0.5em  2em;
}
section.norikae section h3:not(.point) {
  font-size: 2vw;
  height: 6.4vw;
}
section.norikae section h3:not(.point) strong {
  font-size: 2.4vw;
  height: 6.4vw;
  min-width: 40vw;
}
section.norikae section h3:not(.point) strong::after {
  border-top: 3.2vw solid transparent;
  border-bottom: 3.2vw solid transparent;
}
section.norikae section > ul > li p.stit {
  font-size: 2vw;
}
section.norikae section > ul > li p.mid {
  font-size: 1.8vw;
}
section.norikae section > ul > li p.mid.big {
  font-size: 3vw;
}
section.norikae section > ul > li p.mid.big strong {
  font-size: 4.8vw;
}
section.norikae p.yel {
  font-size: 2.4vw;
}
section.norikae section > ul > li ul.small {
  font-size: 1.8vw;
}
section.norikae section h3.point {
  height: 6.4vw;
  font-size: 2.4vw;
  width:auto;
}
section.whats section h3 img {
  max-height: 3vw;
}
section.norikae section h3.point span {
  padding: 2vw 0;
}

section.norikae section ul.point {
  width: 98%;
}

section.norikae section ul.point li .title p:nth-of-type(2) {
  font-size: 2.8vw;
}
section.norikae section ul.point li .text {
  padding: 1em;
  text-align: left;
}
section.norikae section ul.point li img {
  max-width: 7.5vw;
  max-height: 8.5vw;
  margin-right:1em;
}
section.nagare h2 {
    font-size: 2.4vw;
}
section.nagare ul li p.ttl {
  width: 100%;
  height: 4.6vw;
}

section.nagare ul li p.ttl span:nth-of-type(1) {
    font-size: 2.4vw;
    width: 4.6vw;
    height: 4.6vw;
}
section.nagare ul li p.ttl span:nth-of-type(2) {
  font-size: 1.8vw;
  height: 4.6vw;
}
section.nagare ul li .inn img {
  max-width: 8.5vw;
  max-height: 7.4vw;
  margin-right: 0.5em;
}
section.nagare ul li .inn {
  align-items:center;
}
section.nagare ul li .inn {
  padding:1em 0.5em;
}
section.contact .wrap {
  width:90%;
}
section.contact h2 {
  font-size: 2.4vw;
  padding: 0.5em 0;
  margin-bottom: 4vw;
}

section.contact p.read {
  font-size: 2.4vw;
  margin:4vw 0;
}

footer nav {
  width: 100%;
  background-color: #fff;
  padding: 1em;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

footer nav ul li a {
  padding: 0.5em;
}
}

/* width 768px --------------------------------------------*/
@media screen and (max-width:768px) {
.wrap{
width: 96%;
margin: 0 auto;
}
header .wrap .telmail .tel,
header .wrap .telmail a.btn {
display: none;
}
header .wrap .telmail a.sp {
display: block;
}
header .wrap .telmail a.sp img{
margin-left: 1em;
}
section.mv .upper p:nth-of-type(1) {
  font-size: 2.4vw;
}
aside.warning .inner ul {
  justify-content:space-around;
}
aside.warning .inner ul li {
  margin: 0;
}
aside.goto_btn .wrap {
  justify-content:space-around;
}
aside.goto_btn .wrap a {
  font-size: 1.6rem;
  padding: 1em;
  margin: 0;
}
aside.goto_btn .wrap a img:nth-of-type(1) {
margin-right: 0.5em;
}
aside.goto_btn .wrap a svg {
  max-height: 3vw;
  margin-left:0.5em;
}
section.norikae section ul.point li .text,
section.whats section ul.point li .text {
  line-height:1.5;
}

section.nagare ul li .inn {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.nagare ul li .inn img {
  margin:0 0 1em 0;
}
section.nagare ul li .inn p{
width: 100%;
}
footer nav {
  padding: 1em 0;
}
footer nav ul {
  	display:flex;
	justify-content:center;
	align-items:flex-start;   
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer nav ul li{
width: 24%;
margin:0.25em 0;
}
footer nav ul li a{
width: 100%;
padding:0.25em 0;
text-align: center;
}

section.whats section p.catch {
  text-align:left;
}
section.whats section ul.merit_list{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;	
}
section.whats section ul.merit_list li:nth-child(n+5) {
  margin-bottom:2%;
}
section.whats section ul.merit_list li {
  width:32%;
  margin-right: 1%;
}

}
/* width 768px end --------------------------------------------*/

/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {
body{
padding: 50px 0 0 0;
}
header .wrap .logo img {
  width: auto;
  height:50px;
  max-height:50px;
}
header .wrap .logo h1 {
  position: absolute;
  left:5em;
  top:0.125em;
  font-size:1rem;
  font-weight: bold;
  color: #363636;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
header .wrap .telmail a.sp img {
width: auto;
height: 30px;
}
section.mv .wrap {
  padding:10vw 0;
}
section.mv .upper {
	display:flex;
	justify-content:center;
	align-items:flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;    
}
section.mv .upper p:nth-of-type(1) {
  font-size:1.8rem;
  margin-bottom: 1em;
}

section.mv ul.point li {
  width: 48%;
  background-color: #fff;
  border-radius: 15px 0 15px 15px;
  text-align: center;
  padding: 0 0 1em 0;
  margin: 0 1% 1em 1%;
}
section.mv ul.point li p:nth-of-type(2) {
  font-size:1.6rem;
}
section.mv ul.point li p:nth-of-type(2) strong {
  font-size:2.4rem;
}
section.mv ul li p:nth-of-type(3) {
  font-size: 1.4rem;
  width:96%;
}
section.mv h2 {
margin: 1.5em 0;
}

section.mv .under .left {
padding: 0 2em;
  margin:0 0 2.5em 0;
  height: 40px;
}
section.mv .under .left p {
  font-size: 1.6rem;
}
section.mv .under .left p strong {
  font-size:2.4rem;
}

section.mv .under .left::after {
  content: "";
  display: block;
  position: absolute;
  top:inherit;
  right:inherit;
  bottom: -20px;
  left:50%;
transform: translateX(-50%); 
  width: 0;
  height: 0;
  border-right:30px solid transparent;
  border-left:30px solid transparent;
  border-top:20px solid #01317b; 
  border-bottom: 0px;
}
section.mv .under .mid {
  height:auto;
}
section.mv .under .mid p {
  font-size: 1.1rem;
  text-indent: -1em;
  margin-left: 1em;
}
section.mv p.all {
padding: 1em 0;
  font-size:3.8vw;
}

aside.warning {
  padding:5vw 0;
}
aside.warning h2 {
  font-size:3.8vw;
  line-height: 1.5;
}
aside.warning .inner {
  width: 100%;
  padding: 1em 0 0 0;
  margin: 1em auto;
}
aside.warning .inner p {
font-size:3vw;
}
aside.warning .inner ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      	display:flex;
	justify-content:flex-start;
	align-items: center;
}
aside.warning .inner ul li {
  margin: 0 0 0.5em 0;
  width:100%;
  padding-left: 2em;
  text-align: left;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
aside.warning p.txtC {
  text-decoration: underline;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
}
aside.goto_btn .wrap {
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
aside.goto_btn .wrap a {
  margin:0.5em 0;
  width:80%;
}
section.whats h2{
font-size: 4.2vw;
}
section.whats h2 strong {
  font-size:4vw;
  display: block;
  margin-bottom: 0.5em;
}
section.whats section h3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.whats section h3 img {
 display: block;
 margin: 0 auto 1em auto; 
  max-height:inherit;
  width: 50%;
}
section.whats section p.catch {
  font-size: 1.6rem;
  text-align:left;
  margin:1em 0;
  line-height:1.5;
}
section.whats section ul.merit_list li {
  width:48%;
  margin-bottom: 2%;
}
section.whats section ul.merit_list li:nth-child(n+5) {
  margin-bottom:2%;
}

section.norikae section ul.point,
section.whats section ul.point {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 2vw;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.norikae section ul.point li,
section.whats section ul.point li {
  width:100%;
  border: 2px solid #01317b;
  border-radius: 16px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 1em 0;
}
section.norikae section ul.point li .title, section.whats section ul.point li .title {
  padding: 2vw 0;
  font-size:4vw;
}
section.norikae section ul.point li .title p:nth-of-type(2), section.whats section ul.point li .title p:nth-of-type(2) {
  font-size:6vw;
}

aside.contact_us {
  padding:10vw 0;
}
aside.contact_us .tel {
  display: flex;
  justify-content:center;
  align-items: center;
  text-align: center;
  padding-top: 1em;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
aside.contact_us .tel a p:nth-of-type(2) {
  padding-bottom:0.5em;
}
aside.contact_us a.btn {
  font-size: 1.6rem;
  color: #fff;
  padding: 0.5em 0;
  border-radius: 0.5em;
  margin:1em 0 0 0;
  background-color: #FC6B00;
  border: 1px solid #FC6B00;
  min-width:80%;
}
aside.contact_us a.btn img {
  display: block;
  float: left;
  margin:0.75em 0 0 1em;
  width: auto;
  height: auto;
  max-height:30px;
}
aside.contact_us a.btn strong {
  font-size:6vw;
}
section.norikae h2 strong {
  font-size:4.2vw;
  padding: 0.5em 1em;
}

/*---------------------------------------------*
* norikae
*----------------------------------------------*/
section.norikae {
  padding:5vw 0 10vw 0;
}
section.norikae .sc{
width: 100%;
padding:1em 0;
overflow-x: auto;
position: relative;
margin-top: 1em;
}
section.norikae .sc:before{
content: "スクロール→";
color: #fff;
position: absolute;
top: 0;
right: 0;
}

section.norikae section:not(.point){
width:700px;
background-color: #fff;
padding:0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-radius:14px;
margin-top:3vw;
}
section.norikae section h3:not(.point){
font-size:1.6rem;
height:50px;
border-radius:13px 13px 0 0;
	display:flex;
	justify-content:flex-start;
	align-items: center;	
font-weight: bold;
background-color: #cce5fe;
}
section.norikae section h3:not(.point) strong{
font-size:1.8rem;
color: #fff;
height:50px;
background-color: #017efc;
	display:flex;
	justify-content:flex-start;
	align-items: center;
    padding: 0 0 0 1.5em;
    border-radius: 13px 0 0 0;
    min-width:270px;
    position: relative;
    -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.norikae section h3:not(.point) strong:after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -12px;
  width: 0;
  height: 0;
  border-left: 12px solid #017efc;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
}
section.norikae section h3:not(.point) span{
width: 60%;
text-align: center;
display: block;
}
section.norikae section > ul{
display: flex;
  justify-content:space-between;
  align-items:stretch;
}
section.norikae section > ul > li{
width: 50%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding:1.5em 0;
text-align: center;
line-height: 2;
}
section.norikae section:not(.point) > ul > li:nth-of-type(1){
border: 5px solid #eeb2b2;
}
section.norikae section > ul > li p.stit{
font-size:1.6rem;
font-weight: bold;
display: flex;
  justify-content: center;
  align-items: center;
}
section.norikae section > ul > li p.stit.blue{
color: #2846b4;
}

section.norikae section > ul > li p.stit img{
width: auto;
height: auto;
max-height: 20px;
}
section.norikae section > ul > li p.mid{
font-size: 1.6rem;
font-weight: bold;
}
section.norikae section > ul > li p.mid.big{
font-size:2.4rem;
line-height: 1;
}
section.norikae section > ul > li p.mid.big strong{
font-size:3.6rem;
}
section.norikae section > ul > li p.mid.red{
color: #c60001;
}
section.norikae section p.kake{
margin-top: 0.5em;
}
section.norikae p.yel{
text-align: center;
font-size:1.8rem;
font-weight: bold;
background-color: #fee67f;
padding: 1em 0;
border-radius: 0 0 14px 14px;
}
section.norikae section > ul > li ul.small{
text-align: left;
font-size: 1.6rem;
display: inline-block;
margin-top: 1em;
}
section.norikae section > ul > li ul.small.red{
color: #c60001;
font-weight: bold;
}
section.norikae section.point {
padding:4vw 0 2vw 0;
margin-top: 2em;
}
section.norikae section h3.point{
height: auto;
}
section.norikae section h3.point img {
  width: auto;
  height: auto;
  max-height: 2.4rem;
  display: block;
  margin: 0 auto 0.5em auto;
}

section.norikae section h3.point span {
  min-width:100%;
  padding:0 0 2vw 0;
  font-size: 1.6rem;
}

section.nagare h2 {
  font-size:4.8vw;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.nagare h2 span{
width: 100%;
display: block;
margin-bottom: 1em;
text-align: center;
}
section.nagare ul{
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

section.nagare ul li {
  width:100%;
  margin-bottom:3em;
}
section.nagare ul li p.ttl span:nth-of-type(1) {
  font-size: 4.8vw;
  width:9.2vw;
  height:9.2vw;
}
section.nagare ul li p.ttl span:nth-of-type(2) {
  font-size:1.6rem;
  height:9.2vw;
}
section.nagare ul li .inn {
  padding: 1em 1.5em 2em 1.5em;
}
section.nagare ul li .inn img {
  max-width:17vw;
  max-height:14.8vw;
  margin:1em 0;
}
section.nagare ul li::after {
  content: "";
  display: block;
  position: absolute;
  top:inherit;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  right:inherit;
  width: 0;
  height: 0;
  border-left:40px solid transparent;
  border-right:40px solid transparent;
  border-top: 20px solid #fff;
  border-bottom: 0px;
}
section.contact .wrap {
  width:96%;
}
section.contact h2 {
  font-size:4.8vw;
 }
section.contact p.read {
  font-size:1.5rem;
  text-align: left;
  margin:8vw 0;
  line-height: 1.5;
}
section.contact .wrap .inner form {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding:2em 1em;
}
section.contact .wrap .inner form table td,
section.contact .wrap .inner form table td:nth-of-type(1),
section.contact .wrap .inner form table td:nth-of-type(2){
  width:100%;
  padding: 0.5em 0;
  display: block;
}
section.contact .wrap .inner form table td:nth-of-type(1){
border-bottom: none;
padding: 1em 0 0 0;
}

footer nav ul{
	display:flex;
	justify-content:flex-start;
	align-items: center;
}

footer nav ul li {
  width:48%;
  margin: 0.25em 1% 0.25em 0;
  border-right: none;
  border-bottom: 1px solid #ccc;
}

footer .copy {
  text-align: center;
  color: #fff;
  font-size:2.8vw;
  padding: 2em 0;
  line-height: 1.5;
}

}
