@charset "utf-8";
/* CSS Document */
/* ///////////////////////////////////////////////////////////////////

flexbox 2 - SP1

/////////////////////////////////////////////////////////////////// */
.flexbox2_sp1 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%;
  justify-content: center;
}
.flexbox2_sp1 > div {
  margin: 0 1% 10px;
}
@media screen and (min-width:641px) {
  .flexbox2_sp1 > div {
    width: calc(49% - 1%);
  }
}
@media screen and (max-width:640px) {
  .flexbox2_sp1 > div {
    width: calc(99% - 1%);
  }
  .flexbox2_sp1 iframe {
    width: 100%;
    height: 100%;
  }
}
/* ///////////////////////////////////////////////////////////////////

flexbox 3 - SP1

/////////////////////////////////////////////////////////////////// */
.flexbox3_sp1 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%;
  justify-content: center;
}
.flexbox3_sp1 > div {
  margin: 0 1% 10px;
}
@media screen and (min-width:641px) {
  .flexbox3_sp1 > div {
    width: calc(32.33333333% - 1%);
  }
}
@media screen and (max-width:640px) {
  .flexbox3_sp1 > div {
    width: calc(99% - 1%);
  }
}
/* ///////////////////////////////////////////////////////////////////

flexbox 3 - SP2 

/////////////////////////////////////////////////////////////////// */
.flexbox3_sp2 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%;
  justify-content: center;
}
.flexbox3_sp2 > div {
  margin: 0 1% 10px;
}
@media screen and (min-width:641px) {
  .flexbox3_sp2 > div {
    width: calc(32.33333333% - 1%);
  }
}
@media screen and (max-width:640px) {
  .flexbox3_sp2 > div {
    width: calc(49% - 1%);
  }
}
/* ///////////////////////////////////////////////////////////////////

flexbox 4 - SP2 

/////////////////////////////////////////////////////////////////// */
.flexbox4_sp2 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1%;
}
.flexbox4_sp2 > div {
  margin-top: 0;
  margin-right: 1%;
  margin-left: 1%;
  margin-bottom: 20px;
}
@media screen and (min-width:641px) {
  .flexbox4_sp2 > div {
    width: calc(24% - 1%);
  }
  .flexbox4_sp2 > div img {
    width: 100%;
  }
}
@media screen and (max-width:640px) {
  .flexbox4_sp2 > div {
    width: calc(49% - 1%);
  }
  .flexbox4_sp2 > div img {
    width: 100%;
  }
}
/* ///////////////////////////////////////////////////////////////////

3colum flexbox POINTBOX

/////////////////////////////////////////////////////////////////// */
/* メインカラム */
.flexbox_point {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}
.flexbox_point > div {
  flex: 1 0 250px;
  margin: 0.4em;
}
.flexbox_point .box-title {
  background: #00b1a9;
  padding: 4px;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.flexbox_point p {
  border: 8px solid #00b1a9;
  padding: 15px;
  margin: 0;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
/* 640px以下
------------------------------------------------------------*/
@media only screen and (max-width: 640px) {
  .flexbox_point {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
  }
  .flexbox_point .item_point {
    width: 95%;
    border: 4px solid #00b1a9;
    margin-bottom: 10px;
    margin-right: auto;
    margin-left: auto;
  }
}
/* ///////////////////////////////////////////////////////////////////

2colum flexbox

/////////////////////////////////////////////////////////////////// */
/* メインカラム */
.flexbox2 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}
/* 640px以下
------------------------------------------------------------*/
@media only screen and (max-width: 640px) {
  .flexbox2 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
  }
}
/* ///////////////////////////////////////////////////////////////////

2colum SP2 flexbox

/////////////////////////////////////////////////////////////////// */
/* メインカラム */
.flexbox2_sp2 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width:641px) {
  .flexbox2_sp2 > div {
    width: calc(49% - 1%);
  }
}
@media screen and (max-width:640px) {
  .flexbox2_sp2 > div {
    width: calc(49% - 1%);
  }
}
/* footer-tel
------------------------------------------------------------*/
@media only screen and (min-width:769px) {
  #footer-tel-2colum {
    display: none;
  }
}
@media only screen and (max-width:768px) {
  .flexcontainer {
    display: flex;
    flex-wrap: wrap;
  }
  .flexitem {
    display: unset;
    width: 50%;
    height: auto;
  }
  #footer-tel-2colum {
    display: block;
    position: fixed;
    width: 100%;
    margin: 0 auto;
    bottom: 0px;
    line-height: 0;
  }
  #footer-tel-2colum a {
    margin: 0;
    padding: 0;
  }
}