@charset "utf-8";
@import url("reset.css");
/*
 * base CSS
 * ---------------------------------------------
 * レスポンシブ等、共通レイアウトに関わるCSS
 */
/* link */

body {
font-size: 1.7em;
}

a {
  color: #333;
  text-decoration: underline;
}
a:visited {
  color: #333;
  text-decoration: underline;
}
a:hover, a:focus, a:active {
  color: #333;
  text-decoration: none;
}


.txtLeft{text-align:left;}
.has-text-align-left{text-align:left;}
.txtRight{text-align:right;}
.has-text-align-right{text-align:right;}
.txtCenter{text-align:center;}
.has-text-align-center{text-align:center;}

.imgRight{float:right;padding-left:2em;}
.imgLeft{float:left;padding-right:2em;}
.size-full{width:100%;height:auto;}

.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}

.pt10{padding-top:10px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pt40{padding-top:40px;}
.pt50{padding-top:50px;}

.img100{width:100%;height:auto;display: block;margin: 0px auto 0px auto;}
.img90{width:90%;height:auto;display: block;margin: 0px auto 0px auto;}
.img80{width:80%;height:auto;display: block;margin: 0px auto 0px auto;}
.img70{width:80%;height:auto;display: block;margin: 0px auto 0px auto;}
.img60{width:70%;height:auto;display: block;margin: 0px auto 0px auto;}
.img50{width:50%;height:auto;display: block;margin: 0px auto 0px auto;}

.clear_both{clear:both;}

.txtLarge{font-size:120%;}
.txtSmall{font-size:80%;}
.txtBold{font-weight:bold;}
.txtRed{color:#bf272d;}
.txt_marker{
  text-decoration: underline; /* 下線 */
  text-decoration-thickness: 0.5em; /* 線の太さ */
  text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
  text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
  text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}

.b_red{background-color:#bf272d; color:#fff;text-align:center;font-size:2em;margin-bottom:1em;font-weight:bold;}
@media only screen and (max-width: 800px) {
.b_red{background-color:#bf272d; color:#fff;text-align:center;font-size:1.4em;margin-bottom:1em;font-weight:bold;}
}

.noto{font-family: 'Noto Sans JP', sans-serif;}
.noto-s{font-family: 'Noto Serif JP', serif;}


/* clear, clearfix */
.clearfix {
  *zoom: 1;
}

.clearfix:before,
.clearfix:after {
  display: table;
  line-height: 0;
  content: "";
}

.clearfix:after {
  clear: both;
}

/* row */
.row {
  width: 100%;
  *zoom: 1;
}

.row:before,
.row:after {
  display: table;
  line-height: 0;
  content: "";
}

.row:after {
  clear: both;
}

.row .col {
  display: block;
  float: left;
  width: 100%;
  min-height: 1px;
  margin-left: 2.7624309392265194%;
  *margin-left: 2.709239449864817%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.row .col:first-child {
  margin-left: 0;
}

.row2 .col {
  width: 48.61878453038674%;
  *width: 48.56559304102504%;
}

.row3 .col {
  width: 31.491712707182323%;
  *width: 31.43852121782062%;
}






/*1.フェードインアニメーションの指定*/

.view {opacity: 0;} /*一瞬表示されるのを防ぐ*/
.scrollanime {opacity: 0;perspective: 1000;}  /*一瞬表示されるのを防ぐ*/
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    99.9%, to {
    opacity: 1;
    transform: translate(0px);
    -webkit-transform: translate(0px);
    }
}
 

 






/* layout */
html {
  overflow-y: scroll;
  overflow-x: hidden;
}

body {
  color: #333333;
  height:100%;
  word-break: break-all;
  letter-spacing: 0.1em;
}

section{clear:both;}

.sp{display:none;}
.pc{display:block;}





/* menu */

.menu{position: fixed;
top:20px;
/*right:-5px;*/
right:-20px;
z-index: 9999999999;}
.menu img{width:100px;height:auto;}
.menu_sp{display:none;}
@media only screen and (max-width: 800px) 
{
.menu{display:none;}
.menu_sp{position: fixed;
  display:block;
  bottom:0px;
  z-index: 9999999999;
  background-color:#666666;
text-align: center;
width:100%;
padding:10px 0px 20px 0px;
}
.menu_sp ul{max-width:500px;width:100%;margin:0px auto 0px auto;}
.menu_sp li{display:inline-block;width:48%;}
.menu_sp li img{width:100%;height:auto;}  
  }



/* header */

#header 
{
width:100%;
background-color:#0161bb;
background-image: url(../images/mb_pc.png);
background-position: top center;
background-repeat: no-repeat;
background-size:cover ;
margin-bottom:0px;
text-align:center;
position: relative;
}

#header:after {
  content: "";
  position: absolute;
  top: 100%;
  right: 50%;
  transform: translatex(50%);
  box-sizing: border-box;
  border-right: calc(50vw - 10px) solid transparent;
  border-left: calc(50vw - 10px) solid transparent;
  border-top: 100px solid #0161bb;
}

#header h1
{
  margin:0px;
padding:0px;
}


#header h1 img
{
max-width:540px;
width:80%;
height:auto;
margin:0px;
padding:0px;

}



/* mainvisual */

#mainvisual{

}
.mv01{z-index: 999;position: relative;}
.mv01 img{max-width:900px;width:90%;}
.mv02{margin-top:-35px;z-index:1;position: relative;margin-bottom:30px;}
.mv02 img{max-width:540px;width:60%;}
.mv03{position: relative;margin-bottom:30px;}
.mv03 img{max-width:540px;width:60%;}
.mv03_02{font-size:2em;font-weight:bold;color:#ffffff;}
.mv04{margin-top:50px;z-index:1;position: relative;margin-bottom:50px;z-index: 999;}
.mv04 img{max-width:740px;width:90%;}


  
@media only screen and (max-width: 800px) {
.mv02{margin-top:-25px;}
  #header 
{
background-image: url(../images/mb_sp.png);
background-position: center center;
background-size:contain ;
  }
  .mv02{margin-bottom:20px;}
  .mv03{margin-bottom:10px;} 
  .mv04{margin-top:30px;margin-bottom:0px;}

  #header:after {
    border-top: 50px solid #0161bb;
  }
.mv03_02{font-size:1.4em;font-weight:bold;color:#ffffff;}

}



.sec01{background-color:#ffffff;}
.sec01 p{font-size:1.4em;line-height:2em;margin-bottom:2em;}
.sec_inner{max-width:900px;margin:0px auto 0px auto;width:90%;}

.img01{z-index:999;position: relative;margin-bottom:50px;z-index: 999;}
.img01 img{max-width:260px;width:40%;height:auto;}


.sec02{background-color:#fefabd;padding:6em 0px 0px 0px;margin-top:-80px;position: relative;}
.sec02:after {
  content: "";
  position: absolute;
  top: 100%;
  right: 50%;
  transform: translatex(50%);
  box-sizing: border-box;
  border-right: calc(50vw - 10px) solid transparent;
  border-left: calc(50vw - 10px) solid transparent;
  border-top: 100px solid #fefabd;
}

.sec02 h1{font-size:2.4em;text-align: center;}
.sec02 img{width:100%;height:auto;}
.sec02 img.sp{width:90%;height:auto;max-width:356px;margin:0px auto 0px auto;}

@media only screen and (max-width: 800px) {
  .sec02:after {
    border-top: 50px solid #fefabd;
  }
  
  }
  

.sec03 h1{margin-bottom:0px;}
.sec03 h1 img{max-width:500px;width:90%;}
.img05 img{max-width:700px;width:90%;}
.sec03{
  background-color:#0261b9;
  padding:160px 0px 50px 0px;
  background-image: url(../images/img04.png);
  background-position: center 560px;
  background-repeat: no-repeat;
  background-size:contain;
  width:100%;
}

@media only screen and (max-width: 800px) {
  .sec03{
    background-image: url(../images/img04_sp.png);
    background-size:60%;
    padding:120px 0px 80px 0px;
    background-position: center bottom;
  }
}
.sec04{margin-top:-50px;}

@media only screen and (max-width: 800px) {
  .sec04{margin-top:30px;}
}


.sec04 h1 img{max-width:820px;width:90%;}
.sec04 img.sp{max-width:315px;width:90%;}
.img08 img{max-width:500px;width:70%;}
.img09 img{max-width:500px;width:70%;}

.sec05
{
  background-color:#0161bb;
  padding:50px 0px 150px 0px;
}
.sec05 header img{max-width:680px;width:70%;height:auto;}

.sec05 .sec_inner{  background-color:#ffffff;padding:50px 0px 50px 0px;}
.contact_btn{width:90%;margin:0px auto 50px auto;}
.contact_btn li{width:33.3%;display:inline-block;float:left;margin:0px;padding:0px;text-align:center;}
.contact_btn li img{width:90%;height:auto;margin:0px auto 0px auto;}

.sec05 div.row{width:90%;margin:0px auto 0px auto;}
.sec05 div.col{margin-bottom:50px;}
.sec05 div.col img{/*object-fit: cover;*/ height:300px;width:100%;margin:0px auto 0px auto;display:block;}

@media only screen and (max-width: 800px) {
  .sec05
  {
    padding:50px 0px 50px 0px;
  }
}


.sec06{
  padding:50px 0px 50px 0px;
  background-image: url(../images/sec06.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size:cover;
  width:100%;
  position:relative;
}


.sec06 .sec_inner{  background-color:rgba(256,256,256,0.8);padding:50px 0px 50px 0px;}
.sec06 .sec_inner h1{padding:0px 50px 0px 50px;font-size:2em;line-height:1.3em;}
.sec06 .sec_inner h1 span{font-size:70%;display:block;color:#0261b9;}
.sec06 .sec_inner p{padding:0px 50px 0px 50px;line-height:1.8em;margin-bottom:1em;}

@media only screen and (max-width: 800px) {
  .sec06{
    padding:50px 0px 0px 0px;
    background-image: url(../images/sec06_sp.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size:contain;
    width:100%;
    margin-top:-60px;
  }
  .imgRight.img10{position:absolute;top:5%;right:2%;}
  .sec06 .sec_inner{width:100%; margin-top:130px;  background-color:rgba(256,256,256,1);padding:50px 0px 100px 0px;}
}

.sec07{background-color:#fefabd;padding:50px 0px 50px 0px;}
.sec07 header img{max-width:800px;width:80%;height:auto;}
.sec07 .sec_inner{}
.sec07 ul li{background-color:#ffffff;}
.sec07 ul li h2{padding:20px;font-size:1.3em;line-height:1.8em;}
.sec07 ul li h2 span{display:block;font-size:80%;}
.sec07 ul li p{padding:20px;font-size:1em;line-height:1.8em;}
.sec07 header{margin-bottom:50px;}

@media only screen and (max-width: 800px) {
  .sec07 header {margin-top:-80px;position: relative;z-index: 999;}

}


.sec08{
  background-color:#0261b9;
  padding:50px 0px 50px 0px;
  width:100%;

}


.sec08 dl{background-color:#ffffff;margin:-10px 0px 2em 0px;padding:20px;position: relative;}
.sec08 dl dt{
  font-size:1.4em;
  background-image: url(../images/q.png);
  background-position: left top;
  background-repeat: no-repeat;
}
.sec08 dl dd{
  padding-left:80px;
  background-image: url(../images/a.png);
  background-position: left top;
  background-repeat: no-repeat;
}
.sec08 dl p{line-height:1.8em;margin-bottom:1em;}





@media only screen and (max-width: 800px) {
  .sec07{padding:50px 0px 150px 0px;}
  .sec08 h1 img{
    margin-top:-200px;
  
  }
  
  .sec08{
    padding:50px 0px 0px 0px;
  }

}

.sec09{background-color:#ffffff;}
.sec09 header h1{margin-top:-50px;margin-bottom:50px;}
.sec09 header img{max-width:800px;width:80%;height:auto;}
.sec09 p{font-size:2em;line-height:2em;margin-bottom:1em;}


.sec09 .sp img{max-width:240px;width:80%;height:auto;}

@media only screen and (max-width: 800px) {
  .sec09 header h1{margin-top:30px;margin-bottom:0px;}
  .sec09{background-color:#ffffff;margin-bottom:50px;}
}




.sec10{  background-color:#0261b9; padding:50px 0px 50px 0px;margin:-50px 0px 0px 0px;}
.sec10 header img{max-width:500px;width:60%;height:auto;}
.sec10 .sec_inner{background-color:#ffffff;padding:50px 0px 50px 0px;}

@media only screen and (max-width: 800px) {
  .sec10{  padding:100px 0px 0px 0px;margin:-130px 0px 0px 0px;}
}

.sns_btn{text-align: center;}
.sns_btn li{display: inline-block;width:40px;padding:10px;}
.sns_btn li img{width:100%;height:auto;}

.balloon {
  position: relative;
  display: block;
  border-bottom: solid 1px #525252;
  padding: 16px 0px 16px 0px;
  max-width: 100%;
  text-align: center;
  margin-bottom:3em;
  }
  .balloon:before,
  .balloon:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  }
  .balloon:before {
  border: solid 20px transparent;
  border-top: solid 20px #333333;
  }
  .balloon:after {
  border: solid 22px transparent;
  border-top: solid 22px #fefabd;
  margin-top: -2.6px;
  }
  .balloon h1 {
  margin: 0px 0px 0.5em 0px;
  padding: 0;
  }

  .sec08 dl dt.balloon {
    position: relative;
    display: block;
    border-bottom: solid 1px #525252;
    padding: 1em 0px 1em 80px;
    max-width: 100%;
    text-align: left;
    margin-bottom:2em;
    }

  .sec08 dl dt.balloon:after {
    border: solid 22px transparent;
    border-top: solid 22px #ffffff;
    margin-top: -2.5px;
    }


    @media only screen and (max-width: 800px) {
      .sec08 dl dt {background-size: 40px auto;}
      .sec08 dl dd {background-size: 40px auto;padding-left:50px;}
      .sec08 dl dt.balloon {
        position: relative;
        display: block;
        border-bottom: solid 1px #525252;
        padding: 1em 0px 1em 50px;
        max-width: 100%;
        text-align: left;
        margin-bottom:2em;
        }

        .balloon:after {
          border: solid 22px transparent;
          border-top: solid 21px #fefabd;
          margin-top: -2px;
          }
          .sec08 dl dt.balloon:after {
            border: solid 22px transparent;
            border-top: solid 21px #ffffff;
            margin-top: -2.5px;
            }

    }
    








/* contents */



.contents{max-width:1000px;width:90%;margin:0px auto 0px auto; font-family: 'Noto Serif JP', serif;}



.contents h2{
    font-weight: 400;
    line-height: 1.7em;
    font-size: 160%;
    letter-spacing: 0.2em;
    margin-bottom:1em;
    padding-top:1em;
}

.contents h3{
    font-weight: 400;
    line-height: 1.7em;
    padding-bottom: 0.5em;
    font-size: 120%;
    letter-spacing: 0.2em;
}

.table01{margin:0px auto 2em auto;width:100%;
padding-top:3em;max-width:800px; border-top:solid 1px #ccc; }
.table01 th{
    border-bottom:solid 1px #ccc; 
    padding:1em;
    text-align:left;
    letter-spacing: 0.1em;
    line-height: 1.7em;
    white-space: nowrap;
    background-color:rgba(216,245,255,0.30);
}
.table01 td{    
    border-bottom:solid 1px #ccc; 
    padding:1em;
    text-align:left;
    letter-spacing: 0.1em;
    line-height: 1.7em;}



a.linkbtn{display:inline-block;background:#0161bb;
    text-decoration: none;
    color:#fff; font-family: 'Noto Sans JP', sans-serif;
    padding:1em 3em 1em 3em;
    border-radius: 2em;
    margin-bottom:2em;
}

a.linkbtn:before{content:"＞";padding-right:1em;}

a.linkbtn02{display:inline-block;background:#0161bb;
    text-decoration: none;
    color:#fff; font-family: 'Noto Sans JP', sans-serif;
    padding:0.2em 2em 0.2em 2em;
    border-radius: 2em;
    margin-bottom:2em;
    -webkit-box-shadow: 5px 5px 3px rgba(0,0,0,0.6);
    box-shadow: 5px 5px 3px rgba(0,0,0,0.6);
}


.contents p{
line-height:2em;
letter-spacing:0.1em;
margin-bottom:1.5em;
}

.contents td ul{margin:0px 0px 0px 2em;letter-spacing:0.1em;}
.contents ul{margin:0px 0px 2em 2em;letter-spacing:0.1em;}
.contents ul li{list-style: disc; margin-bottom:1em;line-height:1.4em;padding-left:0.2em;}

.contents td ol{margin:0px 0px 0px 2em;letter-spacing:0.1em;}
.contents ol{margin:0px 0px 2em 2em;letter-spacing:0.1em;}
.contents ol li{list-style: decimal; margin-bottom:1em;line-height:1.4em;padding-left:0.2em;}

.contents ul.tag_list{list-style: none;margin:0px 0px 2em 0px ;}
.contents ul.tag_list li{display: inline-block;list-style: none; margin-bottom:1em;line-height:1.4em;padding:0.5em 1em 0.5em 1em;
color:#fff;background-color:#6AB259;border-radius:2em;font-weight: bold;}

.contents dl dt{display: block;margin-bottom: 1em;}

.contents hr{
  display:block;
  width: 50%;
  height: 50px;
  margin-top:90px;
  padding:0px auto 0px auto;
  border-top: 1px solid #ccc;
  border-left:none;
  border-bottom:none;
  border-right:none;
  clear: both;
  background-color: transparent;
}



.contents .box01{border:solid 1px #999;
padding:2em 2em 0.5em 2em;margin-bottom:2em;}











/* footer  */

#footer{clear:both;background-color:#0261b9;padding:50px 0px 100px 0px;font-size:0.9em;color:#fff;}
#f_inner{max-width:700px; margin:0px auto 0px auto;width:80%;}
#footer p{line-height:1.8em;margin-bottom:1em;}
#copyright{text-align: center;}
#footer #copyright{line-height:1.7em;}

/* pagetop */
p#pagetop{
	position: fixed;
	bottom: 30px;
	right: 120px;

}
p#pagetop img{
	fill:#6AB259;
}
* html p#pagetop{
	text-align:right;
	margin-right:20px;
	margin-bottom:20px;
}
p#pagetop a{text-decoration:none;font-size: 50px;color:#01315e;}


/*
 * tablet and smartphone START
 * ---------------------------------------------
 */
@media only screen and (max-width: 990px) {
  /* layout */

.sp{display:block;}
.pc{display:none;}

}
/*
 * tablet and smartphone END
 * ---------------------------------------------
 */
/*
 * tablet START
 * ---------------------------------------------
 */
@media only screen and (min-width:800px) and (max-width: 999px) {
  /* #header-nav-sp */

#contents{margin:0px 0px 0px 0px;}

#f_inner{max-width:1000px; margin:0px;}	



}
/*
 * tablet END
 * ---------------------------------------------
 */
/*
 * smart phone START
 * ---------------------------------------------
 */
@media only screen and (max-width: 800px) {
body {
  font-size:1.5em;
}

.sp{display:block;}
.pc{display:none;}
  /* row */
  .row .col {
    float: none;
    margin-left: 0;
  }

  .row2 .col {
    width: auto;
  }

  .row3 .col {
    width: auto;
  }



    
.imgRight{float:none;padding-left:0px;margin:0px auto 2em auto;display:block;}
.imgLeft{float:none;padding-right:0px;margin:0px auto 2em auto;display:block;}


/* header */





  
/* frontpage */


	
/* mainvisual */


/* wrap */
	
	
/* contents */



/* footer  */


/* pagetop */
p#pagetop{
	position: fixed;
	bottom: 80px;
	right: 10px;
}
* html p#pagetop{
	text-align:right;
	margin-right:10px;
	margin-bottom:60px;
}
p#pagetop a{text-decoration:none;font-size: 50px;}

}




