/* 
 * ------- additional css elements  ---------------------
 */
/*===========================
aaa
===========================*/
[href^="tel"] {
  text-decoration: none;
  color: #333;
  cursor: default;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  [href^="tel"] {
    pointer-events: auto;
  }
}
.lower-bar .inner .news dl {}
.lower-bar .inner .news dl dt {
  float: left;
}
.lower-bar .inner .news dl dt, .lower-bar .inner .news dl dd {
  line-height: 1.2em;
  padding: 0.2em 0;
}
.lower-bar .inner .news dl dd {
  padding-left: 5.5em;
}
@media screen and (max-width: 768px) {
  .lower-bar .inner .news dl dt {
    float: none;
  }
  .lower-bar .inner .news dl dd {
    padding-left: 0;
  }
}
.ul2 li {
  list-style-type: disc;
  list-style-position: outside;
  margin-left: 1.5em;
}
.paragraph {
  display: flex;
  /*justify-content: center;*/
  align-items: center;
}
.box-white {
  padding: 40px 20px;
  background-color: rgba(255, 255, 255, 0.60);
}
.double-border2 {
    box-sizing: border-box;
    width: 96%;
    border: 3px solid #ccc;
    outline: 1px solid #999; /* 線幅、線のスタイル、カラー */
    outline-offset: -10px; /* 対象の要素からの距離、マイナス(内側)にも対応 */
    padding: 4%;
    margin-left: auto;
    margin-right: auto;
}
.bg-color {
  background: -moz-linear-gradient(top left, #e6ecfa, #b6c5ed);
  background: -webkit-linear-gradient(top left, #e6ecfa, #b6c5ed);
  background: linear-gradient(to bottom right, #e6ecfa, #b6c5ed);
}
.fa-lg {
    line-height: 1.5em!important;
}

/*===========================
パララックス
===========================*/
.bg-1 {
  background-image: url(../img/background/bg-1.png);
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.bg-2 {
  background-image: url(../img/background/bg-2.png);
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.bg-3 {
  background-image: url(../img/background/bg-3.png);
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.bg-4 {
  background-image: url(../img/background/bg-4.png);
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.bg-5 {
  background-image: url(../img/background/bg-5.png);
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
/*===========================
画像テキスト交互
===========================*/
.flex-item {
  display: flex;
  justify-content: space-between;
}
/*// 最後の要素以外に余白を追加*/
.flex-item:not(:last-child) {
  margin-bottom: 50px;
}
/*// 反対バージョンを作る場合はoddをevenに変更する*/
.flex-item:nth-child(odd) {
  flex-direction: row-reverse;
}
/*// 画像*/
.flex-item__img {
  width: 38%;
  align-items: center;
  padding-right: 10px;
}
.flex-item__img img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}
/*// テキスト*/
.flex-item__txt {
  width: 58%;
}
.flex-item__txt h2 {
  font-size: 18px;
  padding: 10px 0;
}
.flex-item__txt p {
  line-height: 1.5;
}
/*// レスポンシブ*/
@media screen and (max-width: 767px) {
  .flex-item {
    flex-direction: column;
    align-items: center;
  }
  .flex-item:nth-child(odd) {
    flex-direction: column;
  }
  .flex-item__img {
    width: 100%;
    height: 250px;
    padding-bottom: 30px;
  }
  .flex-item__txt {
    width: 100%;
  }
}
/*===========================
スライダー
===========================*/
.slid div:first-of-type {
    width: 100%!important;
}
.bg-slider {
    position: relative;
    width: 100%;
    height: 100vh;
    background-position: center center;
    background-size: cover!important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bg-slider::before {
  content: '';
  background-color: rgba(0, 0, 0, .4);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.bg-slider__title {
  color: #fff;
  font-size: 48px;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  text-shadow: 1px 1px 1px #000;
  z-index: 1;
}
@media screen and (max-width: 820px) {
  .bg-slider__title {
    font-size: 34px;
  }
}
@media screen and (max-width: 480px) {
  .bg-slider {
    padding-top: 76px;
    width: 100vw;
    height: 220px;
  }
  .bg-slider__title {
    font-size: 16px;
  }
}



/* ////// arra-ez responsive set --- please custom as you like //////////////////////////  */
body, html {margin:0; padding:0;}
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
 
.shell { display: flex; flex-direction:row; flex-wrap:wrap; }
.shell.reverse { display: flex; flex-direction:row-reverse; flex-wrap:wrap; }
.shell.nowrap-x { flex-wrap:nowrap; }
.shell.left { justify-content:flex-start; }
.shell.center, .shell.x-center { justify-content:center; }
.shell.right { justify-content:flex-end; }
.shell.fill, .shell.fill-x, .shell.split { justify-content:space-between; }
.shell.equalize { justify-content:space-around; }
.shell.top { align-items:flex-start; }
.shell.middle, .shell.y-center { align-items:center; }
.shell.baseline { align-items:baseline; }
.shell.bottom { align-items:flex-end; }
.shell > .grow-x {flex-grow:1;}
.stretch, .grow-y { align-self:stretch; }
 
.solo, .full { width:100%;}
.duo, .half { width:50%;}
.trio, .one-third { width:calc(100% / 3);}
.two-thirds { width:calc(100% / 3 * 2);}
.quad, .quarter { width:25%;}
.three-quarters { width:75%;}
.penta, .twenty { width:20%;}
.thirty { width:30%;} 
.forty { width:40%;} 
.sixty { width:60%;}
.seventy { width:70%;}
.eighty { width:80%;}
 
.solo.gutter, .full.gutter { width:98%; margin:1em 1%;}
.duo.gutter, .half.gutter { width:48%;  margin:1em 1%;}
.trio.gutter, .one-third.gutter { width:calc(94% / 3); margin:1em 1%;}
.two-thirds.gutter { width:calc(97% / 3 * 2); margin:1em 1%;}
.quad.gutter, .quarter.gutter { width:23%; margin:1em 1%;}
.three-quarters.gutter { width:73%; margin:1em 1%;}
.penta.gutter, .twenty.gutter { width:18%; margin:1em 1%;}
.thirty.gutter { width:28%; margin:1em 1%;} 
.forty.gutter{ width:38%; margin:1em 1%;} 
.sixty.gutter { width:58%; margin:1em 1%;}
.seventy.gutter { width:68%; margin:1em 1%;}
.eighty.gutter { width:78%; margin:1em 1%;}
 
.centering {text-align:center;}
.centering > * { margin-left:auto !important; margin-right:auto !important;}
 
/* Universal Padding Class --- as you like */
.pd-around {padding:1.5em 1.5em;}
.pd-side {padding:0 1.5em;}
.pd-top-bottom {padding:1.5em 0;}
.pd-right {padding-right:1.5em;}
.pd-left {padding-left:1.5em;}
 
/* clearfix --- for use together with legacy float layout */
.clearfix:before, .clearfix:after { content: " "; display: table;}
.clearfix:after { clear: both;}
.clearfix { *zoom: 1;}
.clear { clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0;}
 
/*** Media Query ***/
@media only screen and (max-width: 899px) {
     
    .shell.break900:not(.step) { flex-direction:column;}
    .shell.break900 > .solo, .shell.break900 > .full, .shell.break900 > .duo, .shell.break900 > .half, .shell.break900 > .trio, .shell.break900 > .one-third, .shell.break900 > .two-thirds, .shell.break900 > .quad, .shell.break900 > .quarter, .shell.break900 > .three-quarters, .shell.break900 > .penta, .shell.break900 > .twenty, .shell.break900 > .thirty, .shell.break900 > .forty, .shell.break900 > .sixty, .shell.break900 > .seventy, .shell.break900 > .eighty 
    { width:100%; }
    .shell.break900 > .solo.gutter, .shell.break900 > .full.gutter, .shell.break900 > .duo.gutter, .shell.break900 > .half.gutter, .shell.break900 > .trio.gutter, .shell.break900 > .one-third.gutter, .shell.break900 > .two-thirds.gutter, .shell.break900 > .quad.gutter, .shell.break900 > .quarter.gutter, .shell.break900 > .three-quarters.gutter, .shell.break900 > .penta.gutter, .shell.break900 > .twenty.gutter, .shell.break900 > .thirty.gutter, .shell.break900 > .forty.gutter, .shell.break900 > .sixty.gutter, .shell.break900 > .seventy.gutter, .shell.break900 > .eighty.gutter
    { width:98%; margin:1em 1%;}
     
    .shell.step { flex-direction:row; flex-wrap:wrap; }
    .shell.step > .duo, .shell.step > .half, .shell.step > .trio, .shell.step > .one-third, .shell.step > .two-thirds, .shell.step > .quad, .shell.step > .quarter, .shell.step > .three-quarters, .shell.step > .penta, .shell.step > .twenty, .shell.step > .thirty, .shell.step > .forty, .shell.step > .sixty, .shell.step > .seventy, .shell.step > .eighty 
    { width:50%;}
    .shell.step > .duo.gutter, .shell.step > .half.gutter, .shell.step > .trio.gutter, .shell.step > .one-third.gutter, .shell.step > .two-thirds.gutter, .shell.step > .quad.gutter, .shell.step > .quarter.gutter, .shell.step > .three-quarters.gutter, .shell.step > .penta.gutter, .shell.step > .twenty.gutter, .shell.step > .thirty.gutter, .shell.step > .forty.gutter, .shell.step > .sixty.gutter, .shell.step > .seventy.gutter, .shell.step > .eighty.gutter 
    { width:48%; margin:1em 1%;}
     
}
 
/* Mobile Single Column ( like 7-10 inch Tablet ) */
@media only screen and (max-width: 768px) {
 
    .container, .wide-container {padding:0 0.3em;} /* as you like */
 
    .shell.break768:not(.step) { flex-direction:column;}
    .shell.break768 > .solo, .shell.break768 > .full, .shell.break768 > .duo, .shell.break768 > .half, .shell.break768 > .trio, .shell.break768 > .one-third, .shell.break768 > .two-thirds, .shell.break768 > .quad, .shell.break768 > .quarter, .shell.break768 > .three-quarters, .shell.break768 > .penta, .shell.break768 > .twenty, .shell.break768 > .thirty, .shell.break768 > .forty, .shell.break768 > .sixty, .shell.break768 > .seventy, .shell.break768 > .eighty
    { width:100%; }
    .shell.break768 > .solo.gutter, .shell.break768 > .full.gutter, .shell.break768 > .duo.gutter, .shell.break768 > .half.gutter, .shell.break768 > .trio.gutter, .shell.break768 > .one-third.gutter, .shell.break768 > .two-thirds.gutter, .shell.break768 > .quad.gutter, .shell.break768 > .quarter.gutter, .shell.break768 > .three-quarters.gutter, .shell.break768 > .penta.gutter, .shell.break768 > .twenty.gutter, .shell.break768 > .thirty.gutter, .shell.break768 > .forty.gutter, .shell.break768 > .sixty.gutter, .shell.break768 > .seventy.gutter, .shell.break768 > .eighty.gutter
    { width:98%; margin:1em 1%;}
     
    .shell:not(.keep) > .solo, .shell:not(.keep) > .full, .shell:not(.keep) > .duo, .shell:not(.keep) > .half, .shell:not(.keep) > .trio, .shell:not(.keep) > .one-third, .shell:not(.keep) > .two-thirds, .shell:not(.keep) > .quad, .shell:not(.keep) > .quarter, .shell:not(.keep) > .three-quarters, .shell:not(.keep) > .penta, .shell:not(.keep) > .twenty, .shell:not(.keep) > .thirty, .shell:not(.keep) > .forty, .shell:not(.keep) > .sixty, .shell:not(.keep) > .seventy, .shell:not(.keep) > .eighty
    { width:100%; margin:0; }   
    .shell:not(.keep) > .solo.gutter, .shell:not(.keep) > .full.gutter, .shell:not(.keep) > .duo.gutter, .shell:not(.keep) > .half.gutter, .shell:not(.keep) > .trio.gutter, .shell:not(.keep) > .one-third.gutter, .shell:not(.keep) > .two-thirds.gutter, .shell:not(.keep) > .quad.gutter, .shell:not(.keep) > .quarter.gutter, .shell:not(.keep) > .three-quarters.gutter, .shell:not(.keep) > .penta.gutter, .shell:not(.keep) > .twenty.gutter, .shell:not(.keep) > .thirty.gutter, .shell:not(.keep) > .forty.gutter, .shell:not(.keep) > .sixty.gutter, .shell:not(.keep) > .seventy.gutter, .shell:not(.keep) > .eighty.gutter
    { width:98%; margin:1em 1%;}
 
    .shell.step { flex-direction:row; flex-wrap:wrap; }
    .shell.step > .duo, .shell.step > .half, .shell.step > .trio, .shell.step > .one-third, .shell.step > .two-thirds, .shell.step > .quad, .shell.step > .quarter, .shell.step > .three-quarters, .shell.step > .penta, .shell.step > .twenty, .shell.step > .thirty, .shell.step > .forty, .shell.step > .sixty, .shell.step > .seventy, .shell.step > .eighty 
    { width:50%;}
    .shell.step > .duo.gutter, .shell.step > .half.gutter, .shell.step > .trio.gutter, .shell.step > .one-third.gutter, .shell.step > .two-thirds.gutter, .shell.step > .quad.gutter, .shell.step > .quarter.gutter, .shell.step > .three-quarters.gutter, .shell.step > .penta.gutter, .shell.step > .twenty.gutter, .shell.step > .thirty.gutter, .shell.step > .forty.gutter, .shell.step > .sixty.gutter, .shell.step > .seventy.gutter, .shell.step > .eighty.gutter
    { width:48%; margin:1em 1%;}
 
    .shell.keep-half:not(.keep), .shell.keep-half:not(.keep) { flex-direction:row;}
    .shell.keep-half:not(.keep) > .solo, .shell.keep-half:not(.keep) > .full, .shell.keep-half:not(.keep) > .duo, .shell.keep-half:not(.keep) > .half, .shell.keep-half:not(.keep) > .trio, .shell.keep-half:not(.keep) > .one-third, .shell.keep-half:not(.keep) > .two-thirds, .shell.keep-half:not(.keep) > .quad, .shell.keep-half:not(.keep) > .quarter, .shell.keep-half:not(.keep) > .three-quarters, .shell.keep-half:not(.keep) > .penta, .shell.keep-half:not(.keep) > .twenty, .shell.keep-half:not(.keep) > .thirty, .shell.keep-half:not(.keep) > .forty, .shell.keep-half:not(.keep) > .sixty, .shell.keep-half:not(.keep) > .seventy, .shell.keep-half:not(.keep) > .eighty   
    { width:50%;}   
    .shell.keep-half:not(.keep) > .solo.gutter, .shell.keep-half:not(.keep) > .full.gutter, .shell.keep-half:not(.keep) > .duo.gutter, .shell.keep-half:not(.keep) > .half.gutter, .shell.keep-half:not(.keep) > .trio.gutter, .shell.keep-half:not(.keep) > .one-third.gutter, .shell.keep-half:not(.keep) > .two-thirds.gutter, .shell.keep-half:not(.keep) > .quad.gutter, .shell.keep-half:not(.keep) > .quarter.gutter, .shell.keep-half:not(.keep) > .three-quarters.gutter, .shell.keep-half:not(.keep) > .penta.gutter, .shell.keep-half:not(.keep) > .twenty.gutter, .shell.keep-half:not(.keep) > .thirty.gutter, .shell.keep-half:not(.keep) > .forty.gutter, .shell.keep-half:not(.keep) > .sixty.gutter, .shell.keep-half:not(.keep) > .seventy.gutter, .shell.keep-half:not(.keep) > .eighty.gutter
    { width:48%; margin:1em 1%;}
     
    /* Universal padding class --- as you like */
    .pd-around {padding:1.5em 1.5em;}
    .pd-side {padding:0 1.5em;}
    .ttal {text-align:left !important;}
    .ttal:not(.pd-side) { padding:0 1.5em;}
    .pd-around .ttal:not(.pd-side), .pd-side .ttal:not(.pd-side) { padding:0;}  
     
}
 
/* Traditional SmartPhone Portrait Size */
@media only screen and (max-width: 479px) {
     
    .shell:not(.keep), .shell.step:not(.keep) { flex-direction:column;}
    .shell.step:not(.keep) > .solo, .shell.step:not(.keep) > .full, .shell.step:not(.keep) > .duo, .shell.step:not(.keep) > .half, .shell.step:not(.keep) > .trio, .shell.step:not(.keep) > .one-third, .shell.step:not(.keep) > .two-thirds, .shell.step:not(.keep) > .quad, .shell.step:not(.keep) > .quarter, .shell.step:not(.keep) > .three-quarters, .shell.step:not(.keep) > .penta, .shell.step:not(.keep) > .twenty, .shell.step:not(.keep) > .thirty, .shell.step:not(.keep) > .forty, .shell.step:not(.keep) > .sixty, .shell.step:not(.keep) > .seventy, .shell.step:not(.keep) > .eighty    
    { width:100%; margin: margin:0;}
    .shell.step:not(.keep) > .solo.gutter, .shell.step:not(.keep) > .full.gutter, .shell.step:not(.keep) > .duo.gutter, .shell.step:not(.keep) > .half.gutter, .shell.step:not(.keep) > .trio.gutter, .shell.step:not(.keep) > .one-third.gutter, .shell.step:not(.keep) > .two-thirds.gutter, .shell.step:not(.keep) > .quad.gutter, .shell.step:not(.keep) > .quarter.gutter, .shell.step:not(.keep) > .three-quarters.gutter, .shell.step:not(.keep) > .penta.gutter, .shell.step:not(.keep) > .twenty.gutter, .shell.step:not(.keep) > .thirty.gutter, .shell.step:not(.keep) > .forty.gutter, .shell.step:not(.keep) > .sixty.gutter, .shell.step:not(.keep) > .seventy.gutter, .shell.step:not(.keep) > .eighty.gutter 
    { width:98%; margin:1em 1%;}
 
    /* Single Column --- Universal margin-bottom class */
    .shell.automa > , .shell.automa > .gutter {margin-bottom:1.5em !important;}
 
    /* Universal padding class --- as you like */
    .pd-around {padding:6% 3%;}
    .pd-side, .pd-right, .pd-left {padding:0 3%;}
    .stal {text-align:left !important;}
    .stal:not(.pd-side) { padding:0 3%;}
    .pd-around .stal:not(.pd-side), .pd-side .stal:not(.pd-side) { padding:0;}  
 
}