@charset "utf-8";
/*=========================================
        　リセットcss
=========================================*/
/* 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%;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
  display: block;
}
body{
    width: 100vw;
    overflow-x: hidden;
    font-family: source-han-sans-japanese,sans-serif;
    font-weight: 700;
    background-color: #EFF3F5;
}
#section6 div,#section6 span{
  font-family: source-han-sans-japanese,sans-serif;
  font-weight: 700;
  font-style: normal;
}
#section3 h3{
  font-family: source-han-sans-japanese,sans-serif;
  font-weight: 700;
  font-style: normal;
}
#section6 span.wpcf7-list-item-label {
    font-weight: 500;
}
#section6 input {
    font-weight: 500;
}
html{
  margin-top: 0!important;
}
a:hover{
  cursor: pointer;
}
li{
    list-style:none;
}
a{
    text-decoration: none;
    color:#000;
}
p {
    font-size: 18px;
}
.se{
	display: none;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
/*共通項目*/
.fix-flex{
	display: flex;
}
.strong-y{
	color: #fbf62f!important;
}
.y-border{
	border-bottom: solid 5px #fbf62f;
}
/*横並び*/
.fix-flex{
    display:flex;
}
.pc-flex{
    display:flex;
}
/*センタリング*/
.y-center{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align:center;
}
.x-center{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align:center;
}
.xy-center{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align:center;
}
/*端末サイズ*/
.sp{
    display: none;
}
.se{
  display: none;
}
.pc{
	display: block;
}

@media screen and (max-width: 500px){
  .sp{
        display: block!important;
  }
  .pc{
        display: none!important;
  }
  .pc-flex{
      flex-direction: column;
  }
  
}
@media screen and (max-width: 320px){
  .se{
    display: block;
  }  
}

/*=============================================================

                          headerCSS

=============================================================*/
header{
  width: 100%;
  height: 80px;
  background-color: rgba(255,255,255,1);
  box-shadow: 0px 3px 3px rgba(0,0,0,0.4);
  position: fixed;
  top: 0;
  z-index: 1005;
}
#headerWrap {
    display: flex;
    margin: 20px auto;
    margin-top: 20px;
    width: 97%;
    align-items: center;
        justify-content: space-between;
}
a.header-logo {
    width: 20%;
    max-width: 200px;
}
#logo{
 width: 100%; 
}

#header-right{
  width: 50%;
  /*background-color: red;*/
  display: flex;
  margin: 0 0 0 auto;
  margin-right: -1%;
  justify-content: flex-end;
}
div#header-right a {
    width: 42%;

    display: flex;
    align-items: center;
    justify-content: center;
}
.headerContent{
  background-color: #1B2A76;
  
  padding: 20px;
  /*padding-left: 30px;*/
  border-radius: 10px;
  transition: 0.3s;
  width: 100%;
}
div#headerContent-TEL {
    margin-right: 20px;
}

.headerContent:hover{
  opacity: 0.7;
  transition: 0.3s;
}


.headerContent p{
  color:white;
  font-size: 18px;
  font-weight: bold;
}

#header-right img{
  width: 40px;
  height: 40px;
}

.inner {
    /* width: 240px; */
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}
#header-right img {
    width: 25px;
    height: auto;
    margin-right: 10px;
}
@media screen and (max-width: 1024px){
  #header-right {
      width: 65%;
  }  
}
@media screen and (max-width: 850px){
  #header-right {
      width: 80%;
  }  
}


/*レスポンシブデザインてやつ*/
@media screen and (max-width: 500px){
  #header-right{
    display: none;
  }
}




/*=============================================================

                          mainCSS

=============================================================*/
/*全体設定*/
#mainWrap{
  font-family:'MS Mincho','sans-serif';
  margin-top: 80px;
}


/*section1*/
.bigImg{
  width: 100%;
  display: block;
  margin: 0 auto;
}

#topImage{
  margin-top: 20px;
}
/*section2*/
#section2-img{
  margin-top: 100px;
}

/*section3*/
#section3 h3{
  text-align: center;
  font-size: 35px;
  margin: 45px 0;
}
h3#h3upper{
  margin-left: 50px;
}

h3#h3under{
  margin-top: 110px;
}

#section3-imgWrap{
  display: flex;
  width: 80%;
  margin: 0 auto;

}

.section3-img{
  width: 100%;
}

/*section4*/
/*#section4-under{
  margin-top: -21px;
}*/

/*section5*/
/*#section5-img{
  margin-top: -150px;
}*/

/*section6*/
.contents{
  display: flex;
  margin-bottom: 70px;
  font-size: 2rem;
  align-items: center;
  font-weight: bold;
}

.oya{
/*      width: 100px;*/
    /* height: 50px; */
    padding: 20px 35px;
    font-size: 35px;
  background-color: #266AAF;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ko{
  padding-left:45px;
  /*border-bottom: solid 5px #EDE135;*/
}

#tokuten{
  margin-top: unset;
  border-bottom: unset;
}

#emphasis {
    font-size: 2.5rem;
    color: #266AAF;
}

#underline{
  border-bottom: solid 5px #EDE135;
}


#section6-under {
    width: 80%;
    padding: 5%;
    padding-top: 150px;
    margin: 0 auto;
    margin-top: -100px;
    background-color: #fff;
}

/*#contactWrap{
  height: 500px;
}*/

#contact {
    background-color: #266AAF;
    color: white;
    text-align: center;
    display: inline-block;
    padding: 0 20px;
}

#contact p{
  font-size: 28px;
  padding: 20px;
  font-weight: bold;
}
div.last-content{
      margin-bottom: 0;
  }

/*レスポンシブデザインてやつ*/
@media screen and (min-width: 501px){
  #topImage-sp{
    display: none;
  }

  #section4-upper2{
    display: none;
  }

  #sectionSP{
   display: none;
  }


}

@media screen and (max-width: 500px){
  #topImage{
    display: none;
    z-index: 10;
  }

  #section2-img{
    margin-top: 0;
    z-index: 0;
  }

  /*section3*/
  #section3 h3{
    font-size: 15px;
    margin-left: unset;;
  }

  #section3-imgWrap{
    display: block;
  }

  #leftImg{
    width: 107%;
  }

  h3#h3under {
    margin: 50px 0;
    margin-bottom: 20px;
}

/*section4*/
  #section4-upper{
    display: none;
  }

/*section5*/
  

/*section6*/


.contents{
  font-size: 11px;
  margin-bottom: 20px;
}

.ko{
  margin-top: unset;
  padding-left: 5px;
}

#emphasis {
    font-size: 15px;
    color: #266AAF;
}



/*sectionSP*/
#sectionSP{
  display: block;
}

#contact p{
    font-size: 15px;
    /* padding: 20px; */
    padding: 5px 10px;
}
#section3 h3 {
    font-size: 22px;
    margin-left: unset;
}

}
@media screen and (max-width: 850px){
  .contents {
      display: flex;
      margin-bottom: 70px;
      font-size: 18px;
      align-items: center;
      font-weight: bold;
  }
  #emphasis {
      font-size: 22px;
      color: #266AAF;
  }
  .ko {
    margin-top: 10px;
    padding-left: 0px;
  }
  .oya {
      /* width: 100px; */
      /* height: 50px; */
      padding: 10px 25px;
      font-size: 23px;
      background-color: #266AAF;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  #contact p {
      font-size: 23px;
      padding: 20px;
      font-weight: bold;
  }
  #contact p {
      font-size: 23px;
      padding: 15px 0;
      font-weight: bold;
  }

}

@media screen and (max-width: 500px){
  #headerWrap {
      display: flex;
      margin: 20px auto;
      /* margin-top: 20px; */
      width: 97%;
      align-items: center;
  }
    a.header-logo {
      width: 50%;
      max-width: 200px;
  }
  #sp-tel{
    display: block;
    position: fixed;
    bottom: 0;
    box-shadow: 1px -1px 1px rgba(0,0,0,0.2);
  }
  div#sp-tel {
      background-color: #fff;
      width: 95%;
      padding: 20px 2.5%;
      display: flex;
      justify-content: space-between;
  }
  div#sp-tel a {
      width: 35%;
  }
  .contents {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 15px;
    margin-bottom: 30px;
  }
  
  #emphasis {
      font-size: 17px;
      color: #266AAF;
  }
  .oya{
    padding: 5px 25px;
    font-size: 19px;
  }
  #contact p {
    font-size: 17px;
  }
  #section6-under {
    width: 83%;
    padding-top: 120px;
  }
  h2.sp.sp-kikan__title {
      width: 98%;
      margin: 0 auto;
  }
  section#section5 img {
    margin-top: -5px;
}
}
@media screen and (max-width: 400px){
  .contents {
    font-size: 14px;
  }
  #emphasis {
      font-size: 15px;
  }
}
/*=============================================================

                          footerCSS

=============================================================*/
#sp-tel{
  display: none;
}
@media screen and (max-width: 500px){
  #sp-tel{
    display: block;
    position: fixed;
    bottom: 0;
    box-shadow: 1px -1px 1px rgba(0,0,0,0.2);
  }
  div#sp-tel {
      background-color: #fff;
      width: 95%;
      padding: 20px 2.5%;
      display: flex;
      justify-content: space-between;
      z-index: 100;
  }
  div#sp-tel a {
      width: 49%;
      background-color: #1B2A76;
      border-radius: 10px;
      color:#fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 13px;
      padding: 15px 0;
      font-family: source-han-sans-japanese,sans-serif;
  font-weight: 700;
  }
  div#sp-tel img {
      width: 20px;
      height: auto;
      margin-right: 10px;
  }
}






















/*フッター*/
/*フッター*/
footer{
  background-color: #396fa4;
  padding: 20px 0 10px 0;
  margin-top: 80px;
}
.footer-wrapper div.fix-flex{
  width: 100%;
}
.footer-wrapper{
  width: 85%;
  height: 100%;
  margin:0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
}
a.footer-logo {
    width: 30%;
    height: 100%;
    align-items: center;
    display: flex;
}
a.footer-logo img{
    width: 100%;
    height: auto;
}
.footer-left,.footer-contact{
  width: 50%;
}
.footer-left p{
  font-size: 14px;
  font-weight: bold;
  color: #fff;
}
.footer-right {
    justify-content: space-around;
    align-items: flex-end;
    flex-direction: column;
}
footer .footer-right a.contact-button.fix-flex{
  width: 65%;
  font-size: 20px;
  padding: 15px 0;
}
footer .footer-right a.contact-button.fix-flex:first-child {
    margin-right: 0!important;
}
.copy{
text-align: center;
  font-size: 15px;
  color: #fff;
  font-weight: bold;
  border-top: solid 1px #fff;
  padding-top: 10px;
  width: 85%;
  margin:0 auto;
  margin-top: 10px;
}
p.footer-adress {
    font-size: 15px;
    margin-top: 15px;
}
.footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.tel {
    color: #fff;
    font-size: 40px;
    letter-spacing: 0;
}
.tel span {
    font-size: 20px;
    margin-right: 10px;
}
.email i {
    font-size: 25px;
    margin-right: 15px;
}
.email {
    background-color: #fff;
    width: 70%;
    text-align: center;
    margin-top: 20px;
    color: #396fa4;
    padding: 20px 0;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 500px){
.footer-wrapper .fix-flex.sp-row {
    flex-direction: row;
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.tel {
    color: #fff;
    font-size: 30px;
    letter-spacing: 0;
    margin-top: 20px;
}
footer{
        position: relative;
    }
        .footer-wrapper div.fix-flex {
        width: 100%;
        flex-direction: column;
    }
    .footer-left{
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .footer-contact {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .footer-wrapper div.fix-flex {
        width: 100%;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
}
.wpcf7-not-valid-tip {
    color: #dc3232;
    z-index: 10;
    position: relative;
    font-size: 1em;
    font-weight: normal;
    display: block;
    margin-top: -20px;
}
@media screen and (max-width: 500px){
.wpcf7-not-valid-tip {
    color: #dc3232;
    z-index: 10;
    position: absolute;
    font-size: 1em;
    font-weight: normal;
    display: block;
    margin-top: 0px;
}
span.wpcf7-form-control-wrap.soudan-content .wpcf7-not-valid-tip {
    margin-top: -20px;
}
}
div#contactWrap {
    width: 90%;
    margin: 0 auto;
    background-color: #fff;
}
/*ラインバナー*/
.section-line{
  padding:  70px 0;
  padding-top: 0px;
}

.section-line a{
  display: block;
  width: 65%;
  margin: 0 auto;
}
.section-line a img{
  display: block;
  width: 100%;
  height: auto;
}
.section-line a img.sp{
  display: none;
}
@media screen and (max-width: 500px){
  .section-line a img.pc{
    display: none;
  }
  .section-line a img.sp{
    display: block;
  }
  .section-line a{
    display: block;
    width: 80%;
    margin: 0 auto;
  } 
  .section-line{
    padding: 50px 0;
    padding-bottom: 30px;
  }
}

.line-button{
 background-color: #1C923B!important;
}
.header-right{
  justify-content: flex-end;
}
/*問い合わせボタン*/
.contact-button{
background-color: #1b2a76;
/*border-radius: 10px;*/
color: #fff;
align-items: center;
justify-content: center;
padding:12px 25px;
font-weight: bold; 
}
@media screen and (max-width: 1100px){
  .contact-button{
    font-size: 14px;
  }
}
.contact-button:first-child{
  margin-right: 10px;
}
.contact-button:nth-child(2){
  margin-right: 10px;
}
.contact-button *{
  color: #fff;
  font-weight: bold;
}
.contact-button i{
  margin-right: 10px;
  font-size: 20px;
}

/* 追加：ヘッダーラインバナー */
.header-line {
	width: 280px;
}
.line-button2 img {
	width: 100%;
	display: block;
}
#headerWrap {
  margin: 3px auto;
}

@media screen and (max-width: 768px){
 .header-right{
 display: none;
} 
}
#sp-tel{
  display: none;
}

/* 追加：フッターラインバナー非表示 */
.footer-line {
	display: none;
}

@media screen and (max-width: 768px){
  
  /* 追加：ヘッダーラインバナーがなくなるのでマージンを基に戻す */
  #headerWrap {
    margin: 20px auto;
  }

  div#sp-tel {
      background-color: #fff;
      width: 100%;
      padding: 0;
      display: flex;
      position: fixed;
      bottom: 0;

  }
  .pc-button{
    display: none;
  }
  div#sp-tel a.contact-button.fix-flex {
      padding: 10px 0;
      border-radius: 0;
        width: 39%;
        white-space:nowrap;
        margin-right: 1%;
        font-size: 15px;
        display: flex;
        color: #fff;
        justify-content: center;
        align-items: center;
    }
    div#sp-tel a.contact-button.fix-flex i {
        margin-right: 5px;
        font-size: 20px;
    }
    div#sp-tel a.contact-button.fix-flex.tel-link__sp{
      width: 20%;
      margin-right: 0;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
    div#sp-tel a.contact-button.fix-flex.tel-link__sp i{
      margin-bottom: 10px;
    }

    /* 追加：フッターラインバナー */
	.footer-line {
		display: block;
		max-width: 450px;
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.line-button2 img {
		width: 100%;
		display: block;
	}
}
.line-button{
  background-color: #1C923B!important;
}