@charset "UTF-8";

/*===============================================
　STYLE.CSS   [BODY HEAD FOOT回り]
===============================================*/

*{box-sizing: border-box;}

  @import url("https://fonts.googleapis.com/css2?family=Spartan:wght@400;700&display=swap");
  :root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --color-base: #f8f8f8;
    --color-gray: #ddd;
    --color-theme: #f5695f;
    --color-theme-darken: #f12617;
    --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
    --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
  }

  html {
    font-family: "游ゴシック", YuGothic,"游明朝",YuMincho,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif,serif,‘Sacramento’, cursive;
    font-size: 62.5%;/*ベースは10px*/
    line-height: 1.8;
    height: 100%;
    word-break: break-word;
    color: #333;
    background-color: var(--color-base);
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
  }

  body {
  margin: 0 auto;
  padding: 0;
  font-size: 20px;
  width: 100%;
  line-height: 1.4;
  color: #222222;

  overflow-x: hidden;
  }

  *,
  *::before,
  *::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  ::-moz-selection {
    color: #fff;
    background: var(--color-theme);
  }

  ::selection {
    color: #fff;
    background: var(--color-theme);
  }

  img {
    border: 0;
    margin: 0;
  }

  figure {
    margin: 0;
  }

  p {
    margin: 0;
    padding: 0;
  }

a { text-decoration: none;color: #333; /*ff4500*/}
a:hover { text-decoration: underline;  color: #d01f26;  }

a img { border: 0; outline: none; }
img { vertical-align: top; max-width: 100%;  height:auto;}

  ul,
  ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: 1.6rem;
    margin: 0;
    padding: 0;
  }

  main { display: block; }


/* ///  googlefonts.github.io/japanese/#sawarabimincho //////////　*/
.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }


/* ///  BODY ///////////////////////　*/

.body-all {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background: #fff;

      position: relative;
      padding-bottom: 80px;
      box-sizing: border-box;
      min-height: 100vh;

   }
  /*
  @media screen and (max-width: 1200px) {
    .body-all {width: calc(100% - 40px); } }
*/


/* ///  header ///////////////////////　*/

header{/* */}


 .header * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.header-all {
     margin: 0;
     padding: 1rem 0;
    display: block;
    background: #fff;     /*#4472c4*/
    width: 100%;
    top: 0;
    height: auto;
    box-shadow: 0px 6px 9px 1px rgba(10, 2, 4, 0.1);

    z-index: 100;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
  @media screen and (max-width: 797.98px) { /* 変更点。0.02引く。 */
.header-all {
    border-bottom: 3px solid #6fb62c;
    }}


.header{
    max-width: 1200px;
    margin: 0 auto;
    height: auto;
}
  @media screen and (max-width: 797.98px) { /* 変更点。0.02引く。 */
.header{
    width: 100%;
    margin: 0 auto;
    height: auto;
}}



.header .header_logo {
    margin: 0 auto;
    text-align:center;  }



.header_logo img {
    width: 50%;}
 @media screen and (max-width:798px) {
.header_logo img {
    width: 90%;
}}





/*--------------------
footer
---------------------*/
footer {
    position: fixed;
    bottom: 0;
    left: 0;
    overflow: hidden;
    display: none;
    width: 100%;
    z-index: 10000;
}

.footer-all {
    margin: 0rem auto;

  /*background: #6fb62c; */
  background:rgba(111,182,44,0.7);
  border-top: 10px solid #3a7200;
  position: sticky; /* footer固定 */ }

.footer-all .footer-box {
    padding-bottom: 10px;
    margin: 0 auto;
    width: 100%;
    bottom: 0;
    max-width: 900px;
    text-align: center;
    display: flex;
}
 @media screen and (max-width:798px) {
.footer-all .footer-box {
    padding-bottom: 0;
  }}
 @media screen and (max-width:960px) {
.footer-all .footer-box {
    padding-bottom: 0;
    }}


.footer-all .footer-box .logo-boxs {
    padding: 0;
    margin: 2rem 0 0 0.5rem;
    width: 36%;
    text-align: right;
    transition: 0.6s ease-in-out;
}
 @media screen and (max-width:798px) {
.footer-all .footer-box .logo-boxs {
    margin-top: 0.3rem;
    width: 28%;
}}
 @media screen and (max-width:960px) {
.footer-all .footer-box .logo-boxs {
    margin: 1rem 0 1rem 0.5rem;
    }}


 .footer-box .logo-boxs img{
  width: 80%;
  text-align: right;
}
 @media screen and (max-width:798px) {
 .footer-box .logo-boxs img{
   width: 100%;
}}

 .footer-box .logo-boxs :hover img{
  transform: scale(1.1);
  transition-duration: 0.5s;
  transition-timing-function:linear;
}


 .footer-box .logo-boxs a{
  width: 50%;
  display: block;
  padding: 0;
  text-align: right;
  margin: 0.6rem auto;
  opacity: 0.8;
}
 @media screen and (max-width:798px) {
 .footer-box .logo-boxs a{
  width: 75%;
  margin: 0.8rem auto 0 20%;
    }}


.footer-box .logo-boxs a:hover{
  text-decoration: none;
  opacity: 1;
}



.footer-box .tell-boxs {
  padding: 0;
  margin: 0.5rem auto 1rem;
  width: 60%;
  text-align: left;
  transition: bigger 0.6s ease-in-out;
}
 @media screen and (max-width:798px) {
.footer-box .tell-boxs {
width: 64%;
    }}
 @media screen and (max-width:960px) {
.footer-box .tell-boxs {
  bottom: 0;
  left: 60%;
  right: 40%;
    }}


.footer-box .tell-boxs img{
    width: 90%;
    text-align: left;
    margin-right: 6%;
}

.footer-box .tell-boxs :hover img{
  transform: scale(1.02);
  transition-duration: 0.5s;
  transition-timing-function:linear;
}

.footer-box .tell-boxs a{
    margin: 1rem 20% 0 0;
    padding: 0;
    width: 74%;
    display: block;
    text-align: right;
    opacity: 0.8;
}
 @media screen and (max-width:798px) {
.footer-box .tell-boxs a{
    margin: 1.6rem 30% 0 1%;
    /* float: right;*/
  }}



.footer-box .tell-boxs a:hover{
    text-decoration: none;
    opacity: 1;
}


/*--------------------
table
---------------------*/

.table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #00498f; }

  .table .brw {
    border-right: 1px solid #fff; }

  .table .bbw {
    border-bottom: 1px solid #fff; }

  .table th {
    width: 20%;
    background: #00498f;
    padding: 20px;
    color: #fff; }

  .table td {
    width: 80%;
    padding: 20px;
    border: 1px solid #00498f; }
  @media screen and (max-width: 797.98px) { /* 変更点。0.02引く。 */
    .table.col_2 th {
      width: 30%; }
    .table.col_2 td {
      width: 70%; } }


.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 797.98px) { /* 変更点。0.02引く。 */
    .flex {
      display: block; } }

  .flex.col_2 .col_inner {
    width: calc(50% - 15px);
    margin-right: 30px;
    text-align: center; }



h1{
    background: #fff;
    max-width: 740px;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.5;
    color: #1a4400;
    border: 3px solid #1a4400;
    border-radius: 1rem;
font-feature-settings: "palt";
    filter: drop-shadow(0px 2px 0px rgba(0,0,0,0.08));
    /*letter-spacing: 0.05em*/
    }
  @media screen and (max-width: 797.98px) { /* 変更点。0.02引く。 */
    h1{
    width: 90%;
    font-size: 106%;
    line-height: 1.4;
    border-radius: 0.8rem;
    }}



h2{
    font-size: 2rem;
    font-weight: bold;
    /*background-image: radial-gradient(rgba(30,151,210,0.8), rgba(0,91,146,0.8));*/
    color: #1a4400;
    border: none;
    letter-spacing: 0.05em;
    text-align: center;
}
  @media screen and (max-width: 797.98px) { /* 変更点。0.02引く。 */
    h2{
    width: 90%;
    font-size: 100%;
    line-height: 1.2;
    border-radius: 0.6rem;
    }}




/*--------------------
ページTOPに戻る
---------------------*/
#page_top{
  position: fixed;
  right: 2%;
  bottom: 2rem;
 background: rgba(111,182,44,0.7); /*#3a7200  #bae168*/
  opacity: 0.8;
  border-radius: 50%;
  border: 4px solid #fff;
  z-index: 40000;
}
 @media screen and (max-width:798px) {
#page_top{
    right: 4%;
    bottom: 0.5rem;
  }}
  @media screen and (max-width: 960px) {
#page_top{
    right: 4%;
    bottom: 1rem;
  }}


#page_top a{
  position: relative;
  display: block;
  width: 70px;
  height: 70px;
  text-decoration: none;
  margin-top: -3%;
}
 @media screen and (max-width:798px) {
#page_top a{
    width: 4rem;
    height: 4rem;
  }}


#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

#page_top a: hover{
  opacity: 1;
}

/*--------------------
強調大文字
---------------------*/

.font150{font-size: 150%;: bold;}
.font130{font-size:130%;}
.font120{font-size:120%;}
.font110{font-size:110%;}

    .largemarker-y {
    margin: 0 0.5rem 0;
    vertical-align: 0.7rem;
    font-size: 130%;
    font-weight: bold;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #fdf3d1));
    background: -webkit-linear-gradient(transparent 70%, #ffff00 0%);
    background: -o-linear-gradient(transparent 70%, #ffff00 0%);
    background: linear-gradient(transparent 70%, #ffff00 0%);
    line-height: 2;
}
  @media screen and (max-width: 960px) {
    .largemarker-y {   
     font-size: 120%;
  }}


.red_txt {
  color: #d01f26;
  font-weight: bold;
  font-feature-settings: "palt";    
  line-height: 2.2;
  line-height: initial;
}




