@charset "UTF-8";
@import url(//use.fontawesome.com/releases/v5.0.6/css/all.css);
@import url(//fonts.googleapis.com/css?family=Lato:400,700);
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/*------------------------------------------
  Base Layout
------------------------------------------*/
html {
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
      scroll-behavior: smooth;
}
*{
  box-sizing: border-box;
  word-break : break-all;
}

body {
  font-weight: 500;
  font-size: 1.6em;
  background: #fff;
  color: #181818;
  line-height: 1.8;
  /* font-family: 'Zen Maru Gothic', sans-serif; */
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif;
}

a {
  color: #181818;
  text-decoration: none;
  transition: opacity .2s ease;
}
a:hover {
  opacity: .7;
  transition: opacity .2s ease;
}
a.link-tel {
  pointer-events: none;
}
a.footer-link-tel {
  pointer-events: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.wrapper {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  /* background-color:#FCF8F2; */
}

.disp-pc {
  display: block;
}

.disp-tab {
  display: none;
}

.disp-sp {
  display: none;
}

.disp-tab2 {
  display: none;
}
.disp-sp2 {
  display: none;
}
.disp-sp-ip5 {
  display: none;
}

.fa-phone {
  transform: rotateY(180deg);
}
a.link-tel {
  pointer-events: auto;
  font-size: 40px;
}
a.footer-link-tel {
  pointer-events: auto;
  font-size: 30px;
}

@media only screen and (max-width: 1024px) {
  .disp-tab {
    display: block;
  }
  .disp-no1024{
    display:none;
  }
  .disp-tab2 {
    display: block;
    /* text-align: center; */
    margin: 0 auto;
    width: 500px;
  }
}

@media only screen and (max-width: 768px) {
  .disp-pc {
    display: none;
  }
  .disp-sp {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .disp-sp2 {
    display: block;
  }
  .disp-tab2 {
    display: none;
  }
a.link-tel {
  pointer-events: auto;
  font-size: 30px;
}
a.footer-link-tel {
  pointer-events: auto;
  font-size: 24px;
}
}
@media only screen and (max-width: 320px) {
  .disp-sp-ip5 {
    display: block;
  }
  .disp-sp2 {
    display: none;
  }
}

/*------------------------------------------
  parts
------------------------------------------*/
/*  layout
-------------------------*/
.layout-type01 {
  padding: 0 0px;
  max-width: 1080px;
  /* width: 100%; */
  margin: auto;
}
.layout-type02 {
  padding: 0 0px;
  /* max-width: 1080px; */
  width: 100%;
  margin: 30px auto 0;
}
.layout-typefot {
  padding: 0 20px;
  max-width: 1080px;
  margin: auto;
  font-size: 12px;
}
.layout-typefot .txt02{
  font-size: 16px;
  color: #106fb4;
  text-align: left;
}

/*  flexbox
-------------------------*/
.flexbox {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.fotflex{
display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    flex-direction: row;
}

.fotflex .mf-link:nth-child(1){
  width: 25%;
}
.fotflex .mf-link:nth-child(2){
  width: 25%;
}
.fotflex .mf-link:nth-child(3){
  width: 45%;
}
@media screen and (max-width: 820px) {
  .fotflex .mf-link:nth-child(1){
    width: 50%;
  }
  .fotflex .mf-link:nth-child(2){
    width: 50%;
  }
  .fotflex .mf-link:nth-child(3){
    width: 80%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .fotflex .mf-link:nth-child(1){
    width: 100%;
  }
  .fotflex .mf-link:nth-child(2){
    width: 100%;
  }
  .fotflex .mf-link:nth-child(3){
    width: 100%;
  }
}



/*  title
-------------------------*/
.title-type01 {
  text-align: center;
  margin-bottom: 20px;
  position: relative;
}
.title-type01 .ttl-main {
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 3px;
  color: #fff;
  z-index: 2;
  position: relative;
  display: inline-block;
  background: #106fb4;
  padding: 0 20px;
  line-height: 2;
  margin-top: 10px;
  margin-bottom: 10px;
  border-radius: 5px;
}

.title-type01 .ttl-sub {
  color: #9AD6EC;
  font-size: 45px;
  font-size: 4.5rem;
  letter-spacing: 3px;
  line-height: 1;
  font-weight: bold;
  z-index: 2;
  position: relative;
  text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, 2px 0px 2px #fff, -2px 0px 2px #ffff, 0px 2px 2px #fff, 0px -2px 2px #fff;
}

.title-type01-white {
  text-align: center;
}
.title-type01-white .ttl-main {
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1;
  font-family: "Crimson Pro",serif;
}
.title-type01-white .ttl-sub {
  font-family: "Crimson Pro",serif;
  color: #9a8904;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 3px;
  font-weight: 100;
}

@media only screen and (max-width: 767px){
  .title-type01-white .ttl-main {
    font-size: 26px;
    font-size: 2.6rem;
    padding: 20px 0 10px;
}
}

.title-type02 {
  /*display: inline-block;*/
  text-align: left;
}
.title-type02 .ttl-en {
  font-weight: bold;
  font-size: 36px;
  font-size: 3.6rem;
  color: #ffffff;
  letter-spacing: .08em;
  line-height: 2;
  position: relative;
  text-align: center;
}
.title-type02 .ttl-ja {
  font-family: 'Roboto Condensed', 'sans-serif';
  color: #9AD6EC;
  font-size: 40px;
  font-size: 4rem;
  letter-spacing: 3px;
  line-height: 1;
  font-weight: bold;
  z-index: 2;
  position: relative;
  text-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff, 1px 0px 1px #fff, 0px 1px 1px #fff, -1px 0px 1px #fff, 0px -1px 1px #fff;
  text-align: center;
}

.title-type03 {
  border-bottom: 3px solid #ccc;
  font-weight: bold;
  font-size: 24px;
  font-size: 2.4rem;
  padding-bottom: .5em;
  position: relative;
  line-height: 1.5;
}
.title-type03:after {
  content: "";
  width: 4em;
  height: 3px;
  background: #96C3B0;
  position: absolute;
  left: 0;
  bottom: -3px;
}

.title-type04 {
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  color: #fff;
  background: #f4a460;
  position: relative;
  padding: .3em .6em;
}
.title-type04:before, .title-type04:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
}
.title-type04:before {
  top: 2px;
}
.title-type04:after {
  bottom: 2px;
}

/*  btn
-------------------------*/
.btn-type01 {
  display: inline-block;
}
.btn-type01 i {

  /* color: #e68737; */
  color: #359865;

}

.btn-type02 {
  display: inline-block;
  padding: .5em 2em;
  background: #181818;/*#74b34b;*/
  color: #fff;
  border-radius: 4px;
}

/*  table
-------------------------*/
.table-type01 {
  width: 100%;
  line-height: 1.5;
}
.table-type01 tr {
  border-bottom: 1px solid #ccc;
}
.table-type01 th, .table-type01 td {
  vertical-align: middle;
}
.table-type01 th {
  width: 30%;
    text-align: center;
    padding: 20px 0;
    font-weight: bold;
    background: #f5f5f5;
}
.table-type01 td {
  padding: 1em;
}

@media only screen and (max-width: 767px) {
  .table-type01 th {
    width: 25%;
      text-align: center;
      padding: 10px 0;
      font-weight: bold;
      background: #f5f5f5;
  }
  .table-type01 td {
    padding: 0.6em;
  }
}




.table-type02 {
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
}
.table-type02 th {
  border-right: 4px solid #ccc;
  font-weight: bold;
  color: #74b34b;
  font-size: 18px;
  font-size: 1.8rem;
  padding: 1em;
  width: 7em;
}
.table-type02 td {
  vertical-align: middle;
  padding: 1em 0 1em 1em;
}
.table-type02 td.month {
  padding-left: 30px;
  width: 100px;
  box-sizing: border-box;
  position: relative;
}
.table-type02 td.month:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #212121;
  border-radius: 50%;
  position: absolute;
  left: -7px;
  top: 50%;
  margin-top: -5px;
}
.table-type02 .label-month {
  width: 60px;
  line-height: 60px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  background: #e68737;
  color: #fff;
  position: relative;
}
.table-type02 .label-month:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 16px 10px 0;
  border-color: transparent #e68737 transparent transparent;
  position: absolute;
  left: -12px;
  top: 50%;
  margin-top: -10px;
}
.table-type02 tr:nth-child(2n) .label-month {
  background: #f4a460;
}
.table-type02 tr:nth-child(2n) .label-month:after {
  border-color: transparent #f4a460 transparent transparent;
}

.table-type03 {
  width: 100%;
  border-top: 1px solid #181818;/*#74b34b;*/
}
.table-type03 tr {
  border-bottom: 1px solid #181818;/*#74b34b;*/
}
.table-type03 th, .table-type03 td {
  padding: 1.5em 1em;
  vertical-align: middle;
  box-sizing: border-box;
}
.table-type03 th {
  background: #106fb4;
  font-size: 20px;
  color: #fff;
  width: 33%;
}
@media screen and (max-width: 820px) {
  .table-type03 th {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .table-type03 th {
    font-size: 16px;
  }
}

/*  list
-------------------------*/
.list-type01{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.list-type01 li {
  margin-bottom: 1.5em;
  width: 33%;
  padding: 10px;
}
@media screen and (max-width: 820px) {
  .list-type01 li {
    margin-bottom: 0em;
    width: 50%;
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .list-type01 li {
    margin-bottom: 0em;
    width: 50%;
    padding: 10px;
  }
}

.list-type01 img {
  position: relative;
  width: 100%;
    height: auto;
    vertical-align: bottom;
    max-height: 222px;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
    border: 1px solid #bce3f2;
}
.topnews{
  max-width: 1080px;
  margin:0 auto;
}
@media screen and (max-width: 767px) {
  .topnews{
    margin: 0px;
  }
}
.list-type01 a {
  display: table;
  width: 100%;
}
.list-type01 .item-date{
  width:85px;
  padding:0 10px;
  color: #448aa3;
}
.list-type01 .item-date-white{
  width:85px;
  padding:0 10px;
  color: #B0B5BA;
}
.item-date-white{
  width:85px;
  padding:0 10px;
  color: #fff;
}
.list-type01 .item-text p{
  margin-bottom: 10px;
}
.list-type01.news .item-text p{
  margin-bottom:0;
}

.item-head{
  position: relative;
}
.item-head .label{
  position: absolute;
  top: 0;
  right: 0;
}

.list-type01 .item-head .label {
  padding: 0px 15px;
  text-align: center;
  font-size: 12px;
  border-radius: 0 10px 0 0;
  line-height: 25px;
  background: #00b1ff;
  color: #fff;
  display: inline-block;
}
.list-type01 .item-head .date {
  font-family: 'Zen Maru Gothic', sans-serif;
}
.list-type01 .item-head .date-white {
  font-family: 'Zen Maru Gothic', sans-serif;
  color: #B0B5BA;
  margin: 5px;
  font-size: 14px;
}

.list-type01 .news_title {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6;
  padding: 10px 0;
}

.list-type01 .news_text {
  font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6;
}
.list-type01 .news_text a{
    color: #333;
}
@media screen and (max-width: 767px) {
  .list-type01 .news_title {
    font-size: 16px;
    font-size: 1.6rem;

  }
  .list-type01 .news_text {
    font-size: 12px;
      font-size: 1.2rem;
  }
  .list-type01 .news_text a{
      color: #333;
  }
}

.news_text_time{
  background: #543E31;
  color: #fff;
  display: inline-block;
  margin-top: 10px;
  padding: 0px 15px;
  border-radius: 5px;
  font-size: 14px;
  font-size: 1.4rem;
}


.list-type02 li {
  margin-bottom: 1em;
}

.list-type02 a {
  display: block;
  padding-left: 1.5em;
  position: relative;
}
.list-type02 a:before {
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #3f6957;/*#359865;#74b34b;*/
  border-right: 2px solid #3f6957;/*#359865;#74b34b;*/
          transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: absolute;
  left: .2em;
  top: 50%;
  margin-top: -2px;
}

  /*.list-type03 {
  border: 1px solid #ccc;
  border-bottom: none;
}*/
.list-type03 li {
  border-bottom: 1px solid #ccc;
  /*border-bottom: 1px solid #fcf8f3;*/
}
.list-type03 li.current {
  background: #cde5ff;
  font-weight: bold;
}

.list-type03 li.current a:after {
  content: none;
}
.list-type03 a {
  display: block;
  padding: .8em 1em;
  position: relative;
}
.list-type03 a:after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #afafaf;/*#74b34b;*/
  border-right: 2px solid #afafaf;/*#74b34b;*/
          transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: absolute;
  right: 1.3em;
  top: 50%;
  margin-top: -4px;
}
/* .list-type03 li.c-arrow{
  position: relative;
}
.list-type03 li.c-arrow:after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #3f6957;
  border-right: 2px solid #3f6957;
          transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  position: absolute;
  right: 1.3em;
  top: 50%;
  margin-top: -4px;
} */

/*  textbox
-------------------------*/
.textbox-type01 {
  border: 2px solid #74b34b;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
  padding: 2.5em 2em;
  border-radius: 4px;
  background: #effcda;
}

/*  article
-------------------------*/
.article-type01 .article-header {
  margin-bottom: 1.5em;
}
.article-type01 .article-header .date {
  color: #888;
  /*font-family: "Lato", "Noto Sans Japanese", sans-serif;*/
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.article-type01 .article-contents {
  line-height: 2;
  font-size: 16px;
  font-size: 1.6rem;
}

.article-type01 .article-thumb {
  margin-bottom: 1.5em;
}

/*  pager
-------------------------*/
.pager-type01 {
  margin-top: 2em;
  text-align: right;
}
.pager-type01 li {
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}
.pager-type01 a {
  display: block;
  position: relative;
  padding: .5em 2em;
  color: #fff;
  /* background: #74b34b; */
  background: #359865;
  /*font-family: "Lato", "Noto Sans Japanese", sans-serif;*/
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
}

.pager-type02 {
  margin-top: 25px;
  font-size: 0;
  text-align: center;
}
.pager-type02 li {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  font-size: 1.4rem;
}
.pager-type02 a {
  display: block;
  position: relative;
  padding: .5em 2em;
  background: #00B1FF;
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 5px;
}
@media only screen and (max-width: 767px) {
  .pager-type02 a {
    padding: .5em 1em;
  }
}
/*  column
-------------------------*/
.column-type01 {
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}

.column-type02 {
  -webkit-justify-content: space-between;
          justify-content: space-between;
}

.col-w20 {
  width: 20%;
}

.col-w25 {
  width: 25%;
}

.col-w32 {
  width: 32%;
}

.col-w33 {
  width: 33.333333%;
}

.col-w50 {
  width: 50%;
}

.col-w30 {
  width: 30%;
}

.col-w40 {
  width: 40%;
}

.col-w46 {
  width: 46%;
}

.col-w48 {
  width: 48%;
}

.col-w49 {
  width: 49%;
}

.col-w56 {
  width: 56%;
}

.col-w60 {
  width: 60%;
}

.col-w66 {
  width: 66%;
}

@media only screen and (max-width: 1024px) {
  /* layout */
  .layout-type01 {
    padding: 35px;
  }
}

@media only screen and (max-width: 767px) {
  /* layout */
  .list-type01 a{
    display:block;
  }
  .layout-type01 {
    padding: 30px 0px;
    width: 95%;
  }
  /* title */

  .title-type01 .ttl-sub {
    font-size: 22px;
    font-size: 2.2rem;
}
  .title-type02 .ttl-en {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .title-type02 .ttl-ja {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .title-type03 {
    border-width: 2px;
    font-size: 20px;
    font-size: 2rem;
    padding-bottom: 0;
  }
  .title-type03:after {
    height: 2px;
    bottom: -2px;
  }
  /* table */
  .table-type02 {
    font-size: 13px;
    font-size: 1.3rem;
  }
  .table-type02 th {
    font-size: 16px;
    font-size: 1.6rem;
    width: 4em;
    padding-left: 0;
  }
  .table-type02 td.month {
    padding-left: 20px;
    width: 80px;
  }
  .table-type02 .label-month {
    width: 54px;
    line-height: 54px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .table-type02 .label-month:after {
    border-width: 8px 12px 8px 0;
    left: -8px;
    margin-top: -8px;
  }
  /* list */
  .list-type01 li {
    margin-bottom: 1em;
  }
  /*.list-type01 .item-head, .list-type01 .item-text {
    display: block;
  }*/
  .list-type01 .item-head {
    /*width: 100%;*/
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 5px;
    vertical-align: top;
  }
  .list-type01 .item-text {
    font-size: 14px;
    font-size: 1.4rem;
    padding-left:5px;
  }
  /* textbox */
  .textbox-type01 {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 1.5em 1em;
  }
  .list-type01.news .item-head,
  .list-type01.news .item-date,
  .list-type01.news .item-text{
    display:block;
  }
}

@media only screen and (max-width: 480px) {
  /* table */
  .table-type03 {
    border-top: 1px solid #181818;/*#74b34b;*/
  }
  .table-type03 tr {
    border-bottom: 1px solid #181818;/*#74b34b;*/
  }
  .table-type03 th, .table-type03 td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }
  .table-type03 th {
    padding: .6em;
  }
  /* column */
  .column-type01 .col {
    width: 100% !important;
    margin-bottom: 1em;
  }
  .column-type02 .col {
    width: 100% !important;
    margin-bottom: 1em;
  }
  .col-o1 {
    order: 1;
  }
  .col-o2 {
    order: 2;
  }
  .col-o3 {
    order: 3;
  }
}

/*------------------------------------------
  header
------------------------------------------*/
.cmn-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  line-height: 1.8;
  z-index: 20;
}

.header-contents {
  position: relative;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .05);
  z-index: 20;
  -webkit-align-items: center;
          align-items: center;

}

.header-logo {
  width: 380px;
  margin-left: 30px;
}
@media screen and (max-width: 1200px) {
.header-logo {
  width: 360px;
  margin-left: 30px;
}
}


.header-menu {
  margin-left: 10px;
  text-align: left;
  padding: 5px 10px 0px 10px;
}
.header-menu span{
  text-align: center;
}
.gnav{
  margin-left:auto;
}
.header-search {
  color: #e68737;
  margin-left: 20px;
}
.header-search .search-trigger {
  cursor: pointer;
}
.header-search .search-trigger .icon {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 2;
}
.header-search .search-trigger .icon-minus {
  display: none;
}
.header-search .search-form {
  width: 100%;
  position: absolute;
  z-index: 2;
  left: 0;
  background: #f2f2f2;
  padding: 1.5em 0;
  display: none;
  box-sizing: border-box;
}
.header-search input {
  display: block;
  float: left;
  height: 46px;
  box-sizing: border-box;
}
.header-search .input-text {
  width: 90%;
  background: #fff;
  padding: 0 1em;
  border: 1px solid #f4f4f4;
}
.header-search .input-submit {
  width: 10%;
  background: #212121;
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
}

.header-search-open .search-trigger .icon-plus {
  display: none;
}

.header-search-open .search-trigger .icon-minus {
  display: block;
}

.gnav-item {
  /* position: relative; */
  text-align: center;
}
.gnav-item:last-child {
  text-align: center;
  /* border-right: 2px solid #003862;
  padding-right: 20px; */
}

.gnav-item a {
  display: block;
  font-size:16px;
  text-align: left;
  line-height: 2;
}
.gnav-item a:hover {
  color: #0075C2;
}

.gnav-link {
  position: relative;
  padding: 5px 10px;
}
.gnav-link:before, .gnav-link:after {
  content: "";
  width: 0;
  height:4px;
  background: #9AD6EC;
  position: absolute;
  bottom: 0;
  -webkit-transition: .2s;
          transition: .2s;
}
.gnav-item.current .gnav-link:before, .gnav-item.current .gnav-link:after {
  width: 50%;
  background: #9AD6EC;
}
.gnav-link:before {
  left: 50%;
  bottom:2px;/*11px;*/
}
.gnav-link:after {
  right: 50%;
  /*bottom:11px;*/
  bottom:2px;
}
.gnav-link:hover {
  opacity: 1;
}
.gnav-link:hover:before, .gnav-link:hover:after {
  width: 50%;
  bottom:2px;
}
.gnav-link .txt-en {
  font-size: 11px;
  font-size: 1.5rem;
  font-family: "Lato", "Noto Sans Japanese", sans-serif;
  /* color: #74b34b; */
  color: #808080;
}

.gnav-toggle {
  display: none;
}

.gnav-child {
  display: none;
  background: #e3f9ff;
  position: absolute;
  width: 125%;
  left: -17px;
  z-index: 2;
  top:55px;
  text-align: center;
}
.gnav-child2 {
  display: none;
  background: #C2F2FF;
  position: absolute;
  width: 228%;
  left: -48px;
  z-index: 2;
  top:55px;
  text-align: center;
}
.gnav-child li,
.gnav-child2 li{
  border-bottom: 1px solid #fff;
  margin: 0 auto;
}
.gnav-child a,
.gnav-child2 a{
  /*padding: 1em 1em 1.2em;*/
  padding:10px 1em;
  font-size: 13px;
  font-size: 1.3rem;
}

  @media only screen and (max-width: 1180px) {
  .header-logo {
    margin-right: 0;
    padding:12px 0;
  }
  .header-menu {
    display: none;
  }
  .header-search {
    margin-left: auto;
    margin-right: 70px;
  }
  .gnav-list {
    display: block;
    position: fixed;
    width: 40%;
    height: 100vh;
    background: #106fb4;
    top: 0;
    left: -100%;
    z-index: 10;
    -webkit-transition: .4s;
            transition: .4s;
    -ms-overflow-y: scroll;
        overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .gnav-list-open {
    left: 0 !important;
    border-right: 1px solid #fff;
    -webkit-transition: .4s;
            transition: .4s;
  }
  .gnav-item {
    width: 100%;
    text-align: left;
    -webkit-flex: none;
            flex: none;
    border-bottom: 1px solid #fff;
  }
  .gnav-item.current .gnav-link {
    background: #003862;
  }
  .gnav-item p:after {
    content: "";
    display: block;
    width: 6px !important;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    position: absolute;
    right: 0.8em;/*1.3em;*/
    top: 50%;
    margin-top: -4px;
  }
  .gnav-item.sparrow p:after {
    content: "";
    display: block;
    width: 6px !important;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    position: absolute;
    right: 0.8em;/*1.3em;*/
    top: 50%;
    margin-top: -4px;
  }
  .gnav-item.noarrow p:after {
    display:none;
  }
  .gnav-child li,
  .gnav-child2 li{
    position:relative;
  }
  .gnav-child li:after,
  .gnav-child2 li:after {
    content: "";
    display: block;
    width: 6px !important;
    height: 6px;
    border-top: 2px solid #00b1ff;
    border-right: 2px solid #00b1ff;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    position: absolute;
    right: 0.8em;/*1.3em;*/
    top: 50%;
    margin-top: -4px;
  }
  .gnav-child li.noarrow:after,
  .gnav-child2 li.noarrow:after {
    display:none;
  }
  .gnav-link {
    color: #fff;
    padding: 1em;
    /*padding:0px 10px;*/
    border: none !important;
  }
  .gnav-link:hover {
    background: #003862;
  }
  .gnav-link:before, .gnav-link:after {
    content: none;
  }
  .gnav-link .txt-en {
    color: #fff;
  }
  .gnav-child,
  .gnav-child2 {
    position: static;
    width: 100%;
    display: block !important;
  }
  .gnav-toggle {
    display: block;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background: #106fb4;
    -webkit-border-radius: 50%;
            border-radius: 50%;
    position: absolute;
    right: 20px;
    top: 15px;
    z-index: 20;
  }
  .gnav-toggle-icon {
    position: relative;
  }
  .gnav-toggle-icon div {
    position: absolute;
    width: 22px;
    height: 20px;
    top: 15px;
    left: 14px;
  }
  .gnav-toggle-icon span {
    -webkit-transition: .2s;
            transition: .2s;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 0;
  }
  .gnav-toggle-icon span:nth-of-type(1) {
    top: 0;
  }
  .gnav-toggle-icon span:nth-of-type(2) {
    top: 50%;
    margin-top: -1px;
  }
  .gnav-toggle-icon span:nth-of-type(3) {
    bottom: 0;
  }
  .gnav-open .gnav-toggle-icon span {
    -webkit-transition: .2s;
            transition: .2s;
  }
  .gnav-open .gnav-toggle-icon span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
            transform: translateY(9px) rotate(-45deg);
  }
  .gnav-open .gnav-toggle-icon span:nth-of-type(2) {
    opacity: 0;
  }
  .gnav-open .gnav-toggle-icon span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
            transform: translateY(-9px) rotate(45deg);
  }
}

@media only screen and (max-width: 768px) {
  .header-contents {
    padding-left: 10px;
    padding-right: 10px;
  }
  .header-search input {
    height: 40px;
  }
  .header-search .input-text {
    width: 80%;
  }
  .header-search .input-submit {
    width: 20%;
  }
  .gnav-toggle {
    right: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .header-logo {
    width: 240px;
    padding:16px 0;
    margin-left:0;
  }
  .header-search {
    margin-right: 65px;
  }
  .header-search .search-form {
    padding: 15px 5px;
  }
  .gnav-list {
    width: 60%;
    left: -60%;
    /*height: calc(100vh - 51px);*/
    margin-top:0 !important;
    z-index:100;
  }
}

/*------------------------------------------
  footer
------------------------------------------*/
.cmn-footer {
  position: relative;
  border-top: 8px solid #0075C2;
  z-index: 3;
  color: #231815;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .cmn-footer {
    border-top: 5px solid #0075C2;
    margin-bottom: 67px;
  }
}
.mf-link .mf-flex_box2 ul li a{
  color:#333 !important;
}

.mf-link .mf-flex_box2 ul li a:hover {
  color: #9AD6EC !important;
}

.fotcopy{
  font-size: 13px;
  text-align: center;
  padding: 10px 0;
  background: #0075c2;
  color: #fff;
}
.footer-contents {
  padding-top: 2em;
  padding-bottom: 2em;
  -webkit-align-items: center;
          align-items: center;
}

.footer-info .txt01 {
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
}
.footer-info a .txt02,
.footer-info .txt02 a{
  color: #106fb4;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.footer-menu {
  margin-left: auto;
  text-align: right;
}
.footer-menu li {
  display: inline-block;
  margin-left: 1em;
}
.footer-menu li a {
  text-decoration: underline;
}

.footer-link {
  margin-top: 20px;
}

.footer-copyright {
  color: white;
  text-align: center;
  font-family: "Lato", "Noto Sans Japanese", sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  background: #003862;
  padding: 1em 0;
  font-weight: 700;
  position: relative;
}

.sp-footer-menu {
  display: none;
  text-align: center;
}
@media only screen and (max-width: 1024px) {
  .footer-info {
    width: 100%;
    text-align: center;
    margin-bottom: 1.5em;
    min-height: 150px;
  }
}

@media only screen and (max-width: 768px) {
  .footer-info {
    width: 100%;
    text-align: center;
    margin-bottom: 1.5em;
    min-height: 150px;
  }
  .footer-menu {
    width: 100%;
    text-align: center;
  }
  .footer-menu li {
    margin: 0 .5em;
    font-size: 13px;
    font-size: 1.3rem;
  }
}

@media only screen and (max-width: 767px) {
  .sp-footer-menu {
    display: block;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
  }
  .sp-footer-menu .menu-item {
    width: 25%;
    height: 65px;
    text-align: center;
    display: table;
    border-left: 1px solid #f0f0f0;
    position: relative;
    box-sizing: border-box;
  }
  .sp-footer-menu .menu-item:last-child {
    border-right: 1px solid #f0f0f0;
  }
  .sp-footer-menu .menu-item a, .sp-footer-menu .menu-item span {
    display: table-cell;
    vertical-align: middle;
    background: #0075c2;
    color: #fff;
    font-weight: bold;
    font-size: 11px;
    font-size: 1.1rem;
  }
  .sp-footer-menu .menu-item i {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .footer-copyright {
    margin-bottom: 102px;
  }
  .gnav-link {
    color: #fff;
    padding:5px 10px;
    border: none !important;
  }
  .gnav-child a, .gnav-child2 a {
    padding: 10px 1em;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/*------------------------------------------
  contents
------------------------------------------*/
/*  home
-------------------------*/
.top-section {
  position: relative;
  padding: 6% 0 6%;
  background: #fff;
}

.top-section-shot {
  position: relative;
  padding: 4% 0 4%;
  background: #fff;
}


.top-section.branksec{
  padding: 4% 0 4%;
}
.top-section .section-header {
  margin-bottom: 2em;
}

.top-section01 {
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 86px;
  top: 0;
  left: 0;
}
@media (max-width: 1180px) {
  .top-section01 {
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 80px;
    top: 0;
    left: 0;
  }  
}
@media (max-width: 820px) {
  .top-section01 {
    position: relative;
    width: 100%;
    height: 40vh;
    margin-top: 80px;
    top: 0;
    left: 0;
  }  
}
@media (max-width: 767px) {
  .top-section01 {
    position: relative;
    width: 100%;
    height: 190px;
    margin-top: 75px;
    top: 0;
    left: 0;
  }  
}

.top-section01 .main-catch {
  color: #fff;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  text-align: center;
  box-sizing: border-box;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: bold;
  z-index: 2;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top-section01 .main-catch .lead {
  font-size: 54px;
  font-size: 6rem;
}
.top-section01 .main-catch .catch {
  font-size: 30px;
  font-size: 3rem;
}
.top-section01 .main-catch .sub {
  font-size: 16px;
  font-size: 1.6rem;
  margin-top: 25px;
  margin-bottom: 10px;
}
.top-section01 .icon-scroll {
  position: absolute;
  bottom: 50px;
  left: 50%;
  font-size: 13px;
  font-size: 1.3rem;
  /*font-family: "Lato", "Noto Sans Japanese", sans-serif;*/
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  padding-top: 50px;
  color: #fff;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.top-section01 .icon-scroll .scroll-bar {
  position: absolute;
  top: 0px;
  left: 50%;
  margin-left: -10px;
  width: 20px;
  height: 40px;
  border: 1px solid #fff;
  overflow: hidden;
  -webkit-border-radius: 10px;
          border-radius: 10px;
}
.top-section01 .icon-scroll .scroll-bar:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 8px;
  margin-left: -2px;
  width: 4px;
  height: 4px;
  background: #fff;
  border-radius: 50%;
  animation: scroll02 2s infinite;
}

.top-section06{
  background-color: #FDFBF7;
}

.main-slider {
  height: auto;
    padding: 50px 0;
    position: relative;
    background: linear-gradient(180deg, #ffffff, #b8dcea);
}
.slider_radius{
  border-radius: 30px;
  overflow: hidden;
}
@media (max-width: 820px) {
  .main-slider {
      padding: 50px 20px;
  }
  .slider_radius{
    border-radius: 0px;
    overflow: hidden;
  }
}


@media (max-width: 767px) {
  .main-slider {
      padding: 0px 0;
  }
  .slider_radius{
    border-radius: 0px;
    overflow: hidden;
  }
}



/* .main-slider:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0);
} */
.main-slider .slick-list, .main-slider .slick-track, .main-slider .slide-item {
  height: 100%;
}
.main-slider .slide-item {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0 20px;
}
@media screen and (max-width: 820px) {
  .main-slider .slide-item {
    background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin: 0px;
  }
}

.top-section02 {
  padding-top: 6%;
}
.top-section02-black {
  padding-top: 6%;
}

@keyframes scroll02 {
  0% {
    top: 8px;
    opacity: 1;
  }
  100% {
    top: 32px;
    opacity: 0;
  }
}

.top-section06 {
  padding-bottom: 0;
}
.top-section06 .section-contents {
  border: 1px solid #ccc;
}

/*  page
-------------------------*/
.cmn-main {
  position: relative;
  z-index: 3;
}

.cmn-sidebar {
  position: relative;
  z-index: 3;
  margin-bottom: 20px;
}
.cmn-sidebar .side-title {
  font-weight: bold;
  background: #1e68b7;
  color: #fff;
  padding: .6em 1em;
  font-size: 16px;
  font-size: 1.6rem;
}
/* .cmn-sidebar .side-title a{
  color:#fff;
}
.cmn-sidebar .side-title2 {
  font-weight: bold;
  background: #c4e0d5;
  padding: .8em 1em;
  font-size: 16px;
  font-size: 1.6rem;
  color: #406957;
  border-left: 3px solid #5d7d6f;
}

.cmn-sidebar .side-sub {
  font-weight: bold;
  background: #ece5dc;
  border-left: 3px solid #5d7d6f;
  border-bottom: 1px solid #fcf8f3;
  margin: 0 0 2px;
}
.cmn-sidebar .side-sub a {
  color: #406957;
}
.cmn-sidebar .side-sub a::after {
  border-top: 2px solid #3f6957;
  border-right: 2px solid #3f6957;
}
.cmn-sidebar .side-title3 {
  font-weight: bold;
  background: #359869;
  color: #fff;
  padding: .5em 1em;
  font-size: 16px;
  font-size: 1.6rem;
}
.cmn-sidebar .side-under {
  padding-left:10px;
  font-size:15px;
}
.cmn-sidebar .side-sub small,
.cmn-sidebar .side-title2 small{
  font-size:14px;
} */

.cmn-pagetitle {
  position: relative;
  padding-top:87px;
}
@media screen and (max-width: 1180px) {
  .cmn-pagetitle {
    position: relative;
    padding-top: 90px;
}
}
@media screen and (max-width: 767px) {
  .cmn-pagetitle {
    position: relative;
    padding-top: 75px;
}
}

.cmn-pagetitle .pagetitle-inner {
  padding: 6em 0 6em;
  position: relative;
  text-align: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 1024px) {
  .cmn-pagetitle .pagetitle-inner {
    padding: 3em 0 3em;
  }
}

.cmn-pagetitle .pagetitle-inner:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
}
.cmn-pagetitle .pagetitle-inner::after {
  content: "";
  background-image: url(../images/common/page_item_logo.png);
  background-repeat: no-repeat;
  display: inline-block;
  background-size: cover;
  width: 100px;
  height: 100px;
  position: absolute;
  top: 35%;
  left: 70%;
  text-align: center;
  box-sizing: border-box;
  z-index: 2;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .cmn-pagetitle .pagetitle-inner::after {
    display: none;
  }
}
.cmn-pagetitle .pagetitle {
  max-width:1080px;
  margin:0 auto;
  /* padding-left:40px; */
}

.cmn-breadcrumb {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  font-size: 12px;
  font-size: 1.2rem;
}
.cmn-breadcrumb .layout-type01 {
  padding: 10px 20px;
  background: rgba(255, 255, 255, 1);

}
.cmn-breadcrumb a {
  display: inline-block;
}
.cmn-breadcrumb span {
  display: inline-block;
}

.contents-wrapper {
  padding: 10em 15px;
  background: #fff;
}

.pagebcw .cmn-main{
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding:10px 50px;
  box-sizing: border-box;
}
.pagebn .cmn-main{
  max-width: 1080px;
}
.pagebcw .session_form .cmn-main,
.pagebcw .contactform .cmn-main{
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding:10px 50px;
  box-sizing: border-box;
}
.contents-wrapper-column {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}
.contents-wrapper-column .cmn-main {
  float: left;
  width: 74%;
  background-color: #fff;
  padding:10px 30px;
  box-sizing: border-box;
}
.contents-wrapper-column .cmn-sidebar {
  float: right;
  width: 26%;
  padding-left:40px;
  box-sizing: border-box;
}

.page-section {
  padding-bottom: 6%;
}
.page-section:last-child {
  padding-bottom: 0;
}
.page-section .section-header {
  margin-bottom: 20px;
}
.page-section .contents-block {
  margin-bottom: 4%;
}
.page-section .contents-block:last-child {
  margin-bottom: 0;
}

/*  form
-------------------------*/
.form-block .txt-form {
  margin-bottom: 2%;
}

.form-block .txt-form-conf {
  display: none;
}

.form-block .input-text input,
.form-block .input-text select,
.form-block .input-textarea textarea {
  width: 100%;
  border: 1px solid #ccc;
  background: #fff;
  -webkit-border-radius: 4px;
          border-radius: 4px;
          padding: 5px;
}

.form-block .input-text input,
.form-block .input-text select {
  height: 36px;
  padding: 0 .5em;
}

.form-block .input-text-check input,
.form-block .input-text select {
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  box-sizing: border-box;
  background: none;
  border: none;
  font-size: 16px;
  outline-style: none;
  padding: 10px;
  border: 1px solid #ccc;
  background: #fff;
  width: 22%;
}

.form-block .input-text-check input {
  height: initial;
  padding: 0 .5em;
}
.form-block .input-text-check input[type="text"] {
  border: 1px solid #ccc;
  background: #fff;
  -webkit-border-radius: 4px;
          border-radius: 4px;
}

.form-block .input-text-check input[type="text"] {
  height: 36px;
  padding: 0 .5em;
}
.form-block .input-text-check textarea {
  border: 1px solid #ccc;
  background: #fff;
  -webkit-border-radius: 4px;
          border-radius: 4px;
  width: 100%;
}

.form-block .input-text-check textarea {
  padding: .5em;
}

.form-block .input-submit {
  text-align: center;
  margin-top: 2em;
}
.form-block .input-submit span {
  display: inline-block;
  vertical-align: middle;
}
.form-block .input-submit input {
  height: 50px;
  padding: 0 30px;
}
.form-block .input-submit .back {
  margin-right: 10px;
}
.form-block .input-submit .back input {
  background: #ff5454;
  color: #fff;
}
.form-block .input-submit .enter input {
  margin: 20px 0;
    padding: 5px 10px;
    display: block;
    width: 300px;
    height: 60px;
    text-decoration: none;
    text-align: center;
    border-radius: 50px;
    border: 2px solid #106fb4;
    color: #106fb4;
    font-size: 18px;
    position: relative;
    overflow: hidden;
    background: #fff;
}

@media screen and (max-width: 767px){
  .form-block .input-submit .enter input {
    width: 270px;
    height: 50px;
    font-size: 16px;
}
}


.form-block .input-submit .enter input:hover {
  background: #69d2ff;
  color: #fff;
  border: 1px solid #fff;
  -webkit-transition: 0.6s;
    transition: 0.6s;
}

.mw_wp_form_preview .form-block .txt-form-entry {
  display: none;
}

.mw_wp_form_preview .form-block .txt-form-conf {
  display: block;
}

@media only screen and (max-width: 1024px) {
  .contents-wrapper-column .cmn-sidebar {
    padding-right: 20px;
  }
  .cmn-breadcrumb {
    position: static;
    border-bottom: 1px solid #ccc;
  }
  .contents-wrapper {
    padding-top: 6%;
    padding-bottom: 8%;
  }
  .contents-wrapper-column .cmn-main {
    width: 100%;
    padding:50px;
  }
  .contents-wrapper-column .cmn-sidebar {
    width: 100%;
    margin-top: 6%;
    padding: 0 10px;
  }
  .page-section {
    padding-bottom: 10%;
  }
  .page-section .section-header {
    margin-bottom: 15px;
  }
  .page-section .contents-block {
    margin-bottom: 8%;
  }
}

@media only screen and (max-width: 768px) {
  /*  home
-------------------------*/
  .top-section .section-header {
    margin-bottom: 0em;
    padding-top:0rem;
  }
  .top-section01 .main-catch .lead {
    font-size: 30px;
    font-size: 3rem;
  }
  .top-section01 .main-catch .catch {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .top-section01 .main-catch .sub {
    text-align: left;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 10px;
  }
  .top-section02 {
    padding-top: 8%;
  }
  .top-section06 {
    padding-bottom: 0;
  }
  .top-section06 iframe {
    height: 300px;
  }
  /*  page
-------------------------*/
  .cmn-breadcrumb {
    position: static;
    border-bottom: 1px solid #fff;
  }
  .contents-wrapper {
    padding: 10px;
  }
  .contents-wrapper-column .cmn-main {
    width: 100%;
    padding:10px 10px 20px;
  }
  .contents-wrapper-column .cmn-sidebar {
    width: 100%;
    margin-top: 6%;
    padding: 0 10px;
  }
  .page-section {
    padding-bottom: 10%;
  }
  .page-section .section-header {
    margin-bottom: 15px;
  }
  .page-section .contents-block {
    margin-bottom: 8%;
  }
}
@media only screen and (max-width: 767px) {
  .contents-wrapper {
    padding: 0px;
  }
}
@media only screen and (max-width: 480px) {
  .top-section01 .icon-scroll {
    bottom: 2%;
  }
  .cmn-pagetitle .pagetitle {
    padding-left: 20px;
  }
  .top-section .section-header{
    margin:0;
  }
  .top-section01 .icon-scroll {
    padding-top:40px;
    display: none;
  }
}
@media only screen and (max-width: 320px) {
  .top-section01 .icon-scroll {
    bottom: 9.5%;/*10%; 0; 60px;*/
  }
}

/*------------------------------------------
  Clearfix
------------------------------------------*/
.clearfix, .header-search .search-form, .contents-wrapper-column {
  * zoom: 1;
}
.clearfix:after, .header-search .search-form:after, .contents-wrapper-column:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

h5{
    position: relative;
    padding-top: 1em;
    width: fit-content;
    padding: 0.2em;
    background: #359869;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    padding-left: 0.6em;
    padding-right: 0.6em;
}

.block-item{
    width: 90%;
    padding: 2.5em 2em;
    margin: 50px 0;
    background-color: #FFFAEE;
    padding-left: 40px;
    padding-bottom: 20px;
    padding-top: 20px;
}

.s-flow{
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
}

.company-sidebar {
  margin-top: 4em;
}


.mf-inner {
    margin: 0 auto;
    max-width: 1100px;
}

.mf-flex_box {
    width: 100%;
    display: flex;
    display: -moz-flex;
    display: -o-flex;
    display: -webkit-flex;
    display: -ms-flex;
    flex-direction: row;
    -moz-flex-direction: row;
    -o-flex-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-wrap: wrap;
}

.mf-flex_box {
    width: auto;
}

.mf-flex_box2 {
    width: 100%;
    margin: 0 auto;
}

.company0{
    margin-bottom: 15px;
    font-size: 15px;
}

.tour-top {
    position: relative;
    padding-top: 1em;
}

.tour-top .sec__content {
    width: 80%;
    margin: 0 auto 0;
    margin-bottom: 40px;
    margin-left: 0px;
}

.alert__box {
    padding: 0.4em 1.4em;
    border: 2px solid #C60000;
}

.alert__box span {
    padding: 0.4em;
    background: #C60000;
    color: #fff;
    margin-right: 10px;
}

.alert-txt {
    display: block;
    margin-block-start: 1.33em;
    margin-block-end: 1.33em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    font-size: 1.6rem;
    margin-left: 15px;
}

.erubu {
  font-size: 1.4rem;
}

.erubu {
    display: block;
    margin-block-start: 2em;
    margin-block-end: 2em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    text-align: center;
}

 .sub-ti{
    position: relative;
    padding-top: 1em;
    width: fit-content;
    padding: 0.2em;
    background: #FFFAEE;
    color: #333;
    text-align: center;
    margin-bottom: 10px;
    padding-left: 0.6em;
    padding-right: 0.6em;
    font-size: 18px;
}

.wp-block-media-text.has-media-on-the-right {
  grid-template-columns: unset;
}
.wp-block-media-text {
  grid-template-columns: unset;
}
#mainImg span {
    display: block;
    text-align: center;
    font-weight: 300;
    font-size: 1.3rem;
    line-height: 1.5385;
    letter-spacing: .1em;
    color: #fff;
    /*font-family: 'Alegreya Sans SC',sans-serif;*/
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    position: absolute;
    right: 0;
    left: 0;
    padding-bottom: 60px;
    -webkit-animation-duration: 3s;
            animation-duration: 3s;
    -webkit-animation-name: slidein;
            animation-name: slidein;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }


@media (max-width: 768px) {
  .company-sidebar {
    margin-top: 0;
  }
  .block-item {
    width: 100%;
    padding: 0 .6em;
  }
}

@media (max-width: 480px) {
  .tour-top .sec__content {
    width: 92%;
  }
  .top-section02 {
    margin-top: 0vh;
    padding-top: 0;
  }
}

/* ---------------
メガメニュー
--------------- */
/* ------------------------------------
メガメニュー
--------------------------------------- */
.blk_mask {
  visibility: hidden;
}
/* 
.megamenu01_open:hover .blk_mask,
.megamenu02_open:hover .blk_mask,
.megamenu03_open:hover .blk_mask {
  width: 100%;
  height: calc(100vh - 84px);
  background: rgba(0, 0, 0, .4);
  z-index: 0;
  position: fixed;
  bottom: 0;
  right: 0;
  visibility: visible;
} */
.megamenu01,
.megamenu02,
.megamenu03 {
  border-radius: 11px;
  position: absolute;
  top: 90px;
  right: 50%;
  transform: translateX(50%);
  max-width: 1040px;
  width: 100%;
  height: auto;
  padding: 2rem 4rem 3rem;
  background: #fff;
  visibility: hidden;
  box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 30%);
  z-index: 1;
}
.megamenu01_open:hover .megamenu01,
.megamenu02_open:hover .megamenu02,
.megamenu03_open:hover .megamenu03 {
  visibility: visible;
}
.megamenu01_flex::before,
.megamenu02_flex::before,
.megamenu03_flex::before {
  background: transparent;
  position: absolute;
  top: -41px;
  right: 0%;
  content: "";
  width: 100%;
  height: 100px;
  z-index: -1;
}

.megamenu01_flex{
  display: flex;
  justify-content: space-between;
}
.megamenu02_flex {
  display: flex;
    justify-content: flex-start;
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    text-align: left;
}

.megamenu02_item {
  margin: 10px;
}
.megamenu02_item a:hover {
  color: #0075C2;
}


.megamenu03_flex {
  display: flex;
}
.megamenu03_item:not(:last-child) {
  margin-right: 4.2rem;
}

.megamenu_ttl {
  font-size: 20px;
  font-weight: bold;
  color: #181818;
  margin-right: 2rem;
  margin-bottom: 2rem;
  text-align: left;
}
.megamenu_item_ttl_sub {
  font-size: 16px;
  text-align: left;
  padding: 0 5px;
}

.dib {
  display: inline-block;
}

.megamenu_img {
  padding: 10px;
}
.megamenu_img img{
  border-radius: 5px;
}
.mr20 {
  margin-right: 20px;
}

/* --------------
アコーディオン
-------------- */
.menu__item {
  display: block;
  position: relative;
}
.menu__item__link {
  display: block;
}
.submenu {
  display: none;
}
.submenu__item {
  color: #222;
}
::placeholder {
  color: rgba(0,0,0,.3);
}

.fa-chevron-circle-right:before {
  content: "\f138";
  color: #0075C2;
}
.megamenu02_item_ttl {
  color: #1b2735;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 10px;
  line-height: 1.3;
  text-align: left;
}


.megamenu02_item_ttl span{
  color: #574d06;
    font-weight: normal;
    font-size: 1.4rem;
  }

.en_font {
  font-family: 'Roboto Condensed', 'sans-serif';
  letter-spacing: 0.1rem;
}

/* ボタン */
.btn-layout{
  text-align: center;
}
.master-btn {
  display: inline-block;
    width: 250px;
    background: #0c3862;
    border: 2px solid #0c3862;
    margin: 10px;
    padding: 10px;
    color: #fff;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
  .master-btn {
    display: inline-block;
    width: 160px;
    background: #0c3862;
    border: 2px solid #0c3862;
    margin: 20px;
    padding: 5px 10px;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
}
}

.master-btn:hover{
  color: #0c3862;
  font-weight: bold;
  background: #ffffff;
  border: 2px solid #0c3862;
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}

/* マップ */
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 50%;
position: relative;
border: 8px solid #fff;
border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 100%;
    position: relative;
    border: 5px solid #fff;
    border-radius: 30px;
    width: 95%;
    margin: 0 auto;
}
}

.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.logo_img{
width: 80px;
}

/* サイトマップ */
.sitemap-section {
  padding-bottom: 6%;
}

.sitemap-wrapper {
  padding-top: 1em;
  padding-bottom: 1em;
}
.sitemap-inner {
max-width: 800px;
margin: 0 auto;
padding-top: 20px;
}
.sitemaplist33 {
  display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .sitemaplist33 li {
    width: 50%;
    list-style: none;
    }
    @media screen and (max-width: 767px) {
      .sitemaplist33 li {
        width: 100%;
        list-style: none;
        }
    }

.sitemaplist33 li a{
  display: block;
  border: 2px solid;
  border-radius: 30px;
  margin: 10px;
  padding: 10px 20px;
  position: relative;
  border-color: #106fb4;
}
.sitemaplist33 li a:hover{
  display: block;
  border: 2px solid;
  margin: 10px;
  padding: 10px 20px;
  position: relative;
  border-color: #106fb4;
  background: #106fb4;
  color: #fff;
  font-weight: bold;
  opacity: 1;
}
.sitemaplist33 li a::after {
content: ">";
display: block;
position: absolute;
right: 20px;
font-size: 20px;
top: 6px;
color: #333;
}
.sitemaplist33 li a:hover::after {
  content: ">";
  display: block;
  position: absolute;
  right: 20px;
  font-size: 20px;
  top: 6px;
  color: #fff;
}

/* 個人情報保護方針 */

.contents-block33 p{
  color: #333; 
}
.contents-block33 p a{
  color: #333; 
}

.text-master33 p{
 color: #333; 
}

.flex-title {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flex-title li:nth-child(1){
  width: 16%;
  padding: 10px;
  margin: 5px;
}
.flex-title li:nth-child(2){
  width: 70%;
  padding: 10px;
  margin: 5px;
  font-size: 22px;
  font-weight: bold;
  color: #181818;
}
@media screen and (max-width: 767px) {
  .flex-title {
    display: -webkit-flex;
    display:    -moz-flex;
    display: -ms-flexbox;
    display:         flex;
    -ms-flex-pack: justify;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .flex-title li:nth-child(1){
    width: 30%;
    padding: 10px;
    margin: 0 auto;
  }
  .flex-title li:nth-child(2){
    width: 100%;
    padding: 0px;
    margin: 0px;
    font-size: 16px;
    font-weight: bold;
    color: #181818;
  }
}

.flex-title-2col {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          background: #e9f4ff;
          padding: 25px 10px;
    margin: 20px 0;
    border: 1px solid #1e68b7;
    border-radius: 15px;
}
.flex-title-2col li:nth-child(1){
  width: 48%;
  padding: 0px 5px;
    margin: 0px;
    font-size: 16px;
}
.flex-title-2col li:nth-child(2){
  width: 48%;
  padding: 0px 5px;
    margin: 0px;
    font-size: 16px;
}

@media screen and (max-width: 767px) {
  .flex-title-2col {
    display: -webkit-flex;
    display:    -moz-flex;
    display: -ms-flexbox;
    display:         flex;
    -ms-flex-pack: justify;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            background: #e9f4ff;
            padding: 25px 10px;
      margin: 20px 0;
      border: 1px solid #1e68b7;
      border-radius: 15px;
  }
  .flex-title-2col li:nth-child(1){
    width: 100%;
    padding: 0px 5px;
      margin: 0px;
      font-size: 16px;
  }
  .flex-title-2col li:nth-child(2){
    width: 100%;
    padding: 0px 5px;
      margin: 0px;
      font-size: 16px;
  }

}

.flex-title2 {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flex-title2 li:nth-child(1){
  width: 20%;
    padding: 0px;
    margin: 0px;
}
.flex-title2 li:nth-child(2){
  width: 74%;
    padding: 5px;
    margin: 5px;
    color: #181818;
}
.flex-title2 li span{
  color: #1e68b7;
 font-weight: bold;
}
@media screen and (max-width: 767px) {
  .flex-title2 {
    display: -webkit-flex;
    display:    -moz-flex;
    display: -ms-flexbox;
    display:         flex;
    -ms-flex-pack: justify;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .flex-title2 li:nth-child(1){
    width: 30%;
    padding: 10px;
    margin: 0 auto;
  }
  .flex-title2 li:nth-child(2){
    width: 100%;
    padding: 0px;
    margin: 0px;
    color: #181818;
  }
}

hr {
  display: block;
  unicode-bidi: isolate;
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  margin-inline-start: auto;
  margin-inline-end: auto;
  overflow: hidden;
  border-style: inset;
  border-width: 2px;
  margin: 30px auto;
  width: 95%;
}
.hr02 {
  display: block;
  unicode-bidi: isolate;
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  margin-inline-start: auto;
  margin-inline-end: auto;
  overflow: hidden;
  border-style: inset;
  border-width: 2px;
  margin: 15px auto;
  width: 100%;
}

.img-50 {
  text-align: center;
}
.img-50 img{
  width: 100%;
  margin: 0 auto;
}

.center-title{
  font-size: 26px;
    color: #0075C2;
    text-align: center;
    margin-bottom: 15px;
    letter-spacing: 15px;
}

/* singleページ */
  .postitems-flex {
    display: -webkit-flex;
    display:    -moz-flex;
    display: -ms-flexbox;
    display:         flex;
    -ms-flex-pack: justify;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            padding: 10px 0px;
            margin: 20px 0px 80px;
  }
  .postitems-flex li:nth-child(1){
    width: 28%;
    padding: 0px 5px;
    margin: 0px;
    text-align: center;
  }
  .postitems-flex li:nth-child(2){
    width: 60%;
    margin: 0px auto;
  }
  .postitems-flex img{
    border: 1px solid #003862;
    width: 100%;
  }

  @media only screen and (max-width: 1024px) {
    .postitems-flex {
      display: -webkit-flex;
      display:    -moz-flex;
      display: -ms-flexbox;
      display:         flex;
      -ms-flex-pack: justify;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              padding: 10px 0px;
              margin: 0px 0px 40px;
    }
    .postitems-flex li:nth-child(1) {
      width: 50%;
      padding: 0px 5px;
      margin: 0px auto;
      text-align: center;
  }
  .postitems-flex li:nth-child(2) {
    width: 100%;
    margin: 30px 0 0;
  }
  }


  @media screen and (max-width: 767px) {
    .postitems-flex {
      display: -webkit-flex;
      display:    -moz-flex;
      display: -ms-flexbox;
      display:         flex;
      -ms-flex-pack: justify;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              padding: 25px 10px;
        margin: 20px 0;
    }
    .postitems-flex li:nth-child(1){
      width: 100%;
      padding: 0px 10px;
        margin: 0px;
    }
    .postitems-flex li:nth-child(2){
      width: 100%;
      padding: 0px 10px;
        margin: 0px;
    }
    .postitems-flex img{
      border: 1px solid #003862;
      width: 100%;
    }
  }

.n-box{
  background: #e9f4ff;
  color: #181818;
  font-size: 18px;
  padding: 20px;
  width: 60%;
  margin: 0 auto;
  text-align: center;
  box-shadow: 6px 6px 1px #cccc;
}

.n-box-flex {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          padding: 10px 0px;
}
.n-box-flex li {
  position: relative;
    padding: 0px 0px;
    width: 40%;
    text-align: left;
    padding-left: 60px;
}
@media screen and (max-width: 1024px) {
  .n-box{
    background: #e9f4ff;
    color: #181818;
    font-size: 18px;
    padding: 0px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    box-shadow: 6px 6px 1px #cccc;
  }

  .n-box-flex {
    display: -webkit-flex;
    display:    -moz-flex;
    display: -ms-flexbox;
    display:         flex;
    -ms-flex-pack: justify;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            padding: 15px 15px;
  }
  .n-box-flex li {
    position: relative;
      padding: 0px 0px;
      width: 50%;
      text-align: center;
      padding-left: 0px;
  }
}
@media screen and (max-width: 767px) {
  .n-box{
    background: #e9f4ff;
    color: #181818;
    font-size: 18px;
    padding: 0px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    box-shadow: 6px 6px 1px #cccc;
  }

  .n-box-flex {
    display: -webkit-flex;
    display:    -moz-flex;
    display: -ms-flexbox;
    display:         flex;
    -ms-flex-pack: justify;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            padding: 15px 15px;
  }
  .n-box-flex li {
    position: relative;
      padding: 0px 0px;
      width: 100%;
      text-align: center;
      padding-left: 0px;
  }
}

.mb15 {
  margin-bottom: 15px !important;
}

.topitemlist {
  max-width: 1040px;
  margin: 0 auto 4%;
}

.list-type003 {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.top-flexbox03 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: left;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 820px) {
  .top-flexbox03 {
    width: 95%;
  }
}

.list-type003 li {
  width: 49%;
  margin-bottom: 20px;
  text-align: center;
}

.list-type003::after {
  content:"";
  display: block;
  width:49%;
}

@media screen and (max-width: 767px) {
  .list-type003 li {
    width: 100%;
  }
}

.list-type003 .item-image img {
  width: 100%;
  max-height: 300px;
  object-fit: cover;
}
.list-type003 .item-text {
  padding: 0px 10px;
  text-align: center;
}
.item-text .title{
  text-align: center;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.8;
  padding: 0px;
  display: inline-block;
  color: #543e31;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.item-text .text{
  text-align: left;
  line-height: 1.8;
  color: #333;
}
.topcenter-center {
  text-align: center;
}
.topcenter {
  text-align: left;
}
.btn-type04 {
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  width: 166px;
  text-align: center;
  background: #fff;
  color: #221714;
  border: 2px solid #221714;
  margin: 5px 20px;
  padding: 5px 10px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.btn-type04::after {
  background: #221714;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.btn-type04::before {
  position: absolute;
    top: 50%;
    right: 12px;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #221714;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    transform: translateY(-50%);
}

.btn-type04:hover {
  color: #fff;
}

.btn-type04:hover::before {
  position: absolute;
    top: 50%;
    right: 12px;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    transform: translateY(-50%);
}
.btn a:hover {
  opacity: 1;
  transition: opacity .2s ease;
}
.btn-type04:hover::after {
  transform: scale(1, 1);
}

.staff_card{
  padding: 10px 20px;
  background: #fff;
  border-radius: 10px;
  border: 2px solid #b8ddeb;
  background: url(../images/top/white_logo.png) center center no-repeat;
  background-size: contain;
  background-color: #e3f9ff;
  min-height: 400px;
  text-align: left;
}
@media screen and (max-width: 820px) {
  .staff_card{
    min-height: 485px;
  }
}
@media screen and (max-width: 767px) {
  .staff_card{
    min-height: 300px;
  }
}

.top-flexbox03 .staff_card h3{
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 3px;
  color: #543e31;
  z-index: 2;
  border: 1px solid;
  position: relative;
  display: inline-block;
  background: #ffffff;
  padding: 0 20px;
  line-height: 1.8;
  margin-top: 10px;
  margin-bottom: 10px;
  border-radius: 5px;
}
@media screen and (max-width: 820px) {
  .top-flexbox03 .staff_card h3{
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.top-flexbox03 .staff_card p{
  font-size: 16px;
  color: #333;
  line-height: 1.8;
  padding: 10px 0 0;
  text-align: left;
}

/* フッターボタン */

figure {
  position: relative;
  overflow: hidden;
  width:  100%;
}


figcaption {
  color: #fff;
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgb(16,111,180,0.9);
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 1;
}
figure:hover figcaption {
  top: 0;
  left: 0;
}
.bnr-text{
  margin: 20px;
  text-align: left;
}

.bnr-flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: left;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.bnr-flex li {
  width: 30%;
  margin: 0 auto;
  text-align: center;
  -webkit-box-shadow: 1px 1px 2px  rgb(0 0 0 / 10%);
  box-shadow: 1px 1px 2px rgb(0 0 0 / 10%);
  border: 1px solid #f8f8f8;
}
@media screen and (max-width: 767px) {
  .bnr-flex li {
    width: 80%;
    margin: 20px auto;
    margin-bottom: 0%;
  }
}

.btn-type05 {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  width: 166px;
  text-align: center;
  color: #106fb4;
  border: 1px solid #106fb4;
  margin: 20px 0;
  padding: 5px 10px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.btn-type05::after {
  background: #106fb4;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.btn-type05::before {
  position: absolute;
    top: 50%;
    right: 12px;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #106fb4;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    transform: translateY(-50%);
}
.btn-type05:hover::before{
    border-color: transparent transparent transparent #fff;
}
.btn-type05:hover {
  color: #fff;
  border: 1px solid #fff;
}
.btn a:hover {
  opacity: 1;
  transition: opacity .2s ease;
}
.btn-type05:hover::after {
  transform: scale(1, 1);
}

/* 強み */
.top-point {
  position: relative;
  padding-bottom: 0px;
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .top-point {
    position: relative;
    padding-bottom: 0px;
    padding-top: 30px;
  }
}

.top-point .top-point-image.topshow {
  background: url(../images/top/bg-circle.png) center center no-repeat;
  background-size: cover;
  opacity: 0.15;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .top-point .top-point-image.topshow {
    background-size: contain;
  }
}

.top-point .top-point-image {
  width: 100%;
  height: 600px;
  max-width: 600px;
  position: absolute;
  z-index: 1;
  top: 45%;
  right: 0px;
}
@media screen and (max-width: 820px) {
  .top-point .top-point-image {
    width: 100%;
    height: 460px;
    max-width: 460px;
  }
}
@media screen and (max-width: 767px) {
  .top-point .top-point-image {
    width: 100%;
    height: 252px;
  }
}
.top-list {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 3;
  height: auto;
}
@media screen and (max-width: 767px) {
  .top-list {
    width: 95%;
  }
}

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}
.ani_delay01{
  animation-delay: 0s;
}
.ani_delay02{
  animation-delay: 0.5s;
}
.ani_delay03{
  animation-delay: 1s;
}
.ani_delay04{
  animation-delay: 1.5s;
}
.ani_delay05{
  animation-delay: 2s;
}
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
  transform: translateY(100px);
    }
    to {
      opacity: 1;
  transform: translateY(0);
    }
  }
  /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
  .fadeUpTrigger{
      opacity: 0;
  }

.point-title{
  color: #181818;
  font-size: 24px;
  font-weight: bold;
  line-height: 2;
  margin: 10px 0;
  border-top: 2px solid #b8ddeb;
  border-bottom: 2px solid #b8ddeb;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
  text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}
.point-sub-title{
  color: #333;
  font-size: 16px;
  line-height: 2;
  margin-bottom: 20px;
}
.point-sub-title-bold{
  color: #106fb4;
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 20px;
  font-family: 'Zen Maru Gothic', sans-serif;
}
@media screen and (max-width: 820px) {
  .point-sub-title{
    line-height: 1.6;
  }
}
@media screen and (max-width: 820px) {
  .point-title{
    font-size: 18px;
    line-height: 1.8;
  }
}

.point-sub-title span{
  color: #F71510;
}

.gazou-on{
  position: relative;
}
.btn-type06 {
  display: inline-block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    /* font-family: "Comfortaa", "Noto Sans Japanese", serif; */
    width: 100px;
    text-align: center;
    background: #fff;
    color: #221714;
    border: 1px solid #221714;
    margin: 20px 5px 0px;
    padding: 0px 20px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.btn-type06::after {
  background: #9AD6EC;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.btn-type06::before {
  position: absolute;
    top: 50%;
    right: 12px;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #221714;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    transform: translateY(-50%);
}

.btn-type06:hover {
  color: #fff;
  border: 1px solid #9AD6EC;
}

.btn-type06:hover::before {
  position: absolute;
    top: 50%;
    right: 12px;
    width: 0;
    height: 0;
    content: "";
    
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    transform: translateY(-50%);
}
.btn-type06:hover::after {
  transform: scale(1, 1);
}

.bnr-on a:hover {
  opacity: 1;
  transition: opacity .2s ease;
}
.bnr-on .bnr-text h3{
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}


/* スクロール to TOP */
#page_top {
  position: fixed;
  bottom: 100px;
  right: 20px;
}
#page_top a {
  background-color: #106fb4;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  padding: 28px 20px;
  border-radius: 50%;
}
#page_top a:hover {
  background-color: #9AD6EC;
  text-decoration: none;
  color: #fff;
}

.btn2,
a.btn2,
button.btn2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-3d-flip {
  display: block;
  width: 300px;
  margin: 0 auto;
  padding: 0;
  -webkit-perspective: 600px;
  perspective: 600px;
  opacity: 1;
}

a.btn-3d-flip:hover .btn-3d-flip-box {
  -webkit-transform: translateY(-50%) rotateX(90deg);
  transform: translateY(-50%) rotateX(90deg);
}

a.btn-3d-flip.btn-3d-flip2:hover .btn-3d-flip-box2 {
  -webkit-transform: translateX(-50%) rotateY(-90deg);
  transform: translateX(-50%) rotateY(-90deg);
}

.btn-3d-flip-box {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  text-decoration: none;
  text-transform: uppercase;
  color: #fff;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.btn-3d-flip-box2 {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
  text-decoration: none;
  text-transform: uppercase;
  color: #fff;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.btn-3d-flip-box-face {
  display: block;
  position: relative;
  width: 100%;
  padding: 1.5rem 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  color: #1b2634;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.btn-3d-flip-box-face--front {
  background: #485A69;
    border: 1px solid;
    color: #fff;
}

.btn-3d-flip-box-face--back {
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-transform: translateY(-1px) rotateX(-90deg);
  transform: translateY(-1px) rotateX(-90deg);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  background: #1b2634;
  color: #fff;
}

.btn-3d-flip-box-face--front2 {
  color: #000;
  border: 2px solid #000;
  background: #fff;
}

.btn-3d-flip-box-face--back2 {
  position: absolute;
  top: 0;
  left: 100%;
  -webkit-transform: translateX(-1px) rotateY(90deg);
  transform: translateX(-1px) rotateY(90deg);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  color: #fff;
  border: 2px solid #000;
  background: #000;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}

a.anchor{
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}

/* リクルート */
.list-type04 .item-inner {
  display: table-cell;
  vertical-align: middle;
  color: #fff;
  font-size: 22px;
    background: linear-gradient(#1b2951, #41add4 ) firebrick;
}
.list-type04 li {
  float: left;
  display: table;
  width: 29%;
  height: 100px;
  border: 2px solid #ccc;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  box-sizing: border-box;
  padding: 2px;
  margin-right: 4%;
}

@media only screen and (max-width: 767px) {
  .list-type04 li {
    float: left;
    display: table;
    width: 100%;
    height: 65px;
    border: 2px solid #ccc;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    font-size: 1.5rem;
    line-height: 1.5;
    box-sizing: border-box;
    padding: 2px;
    margin: 3px auto;
  }
}


.fz85 {
  font-size: 70%;
}
.list-type04:after{
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
.section-contents .contents-block {
  margin-bottom: 6%;
}
.section-contents .contents-block:last-child {
  margin-bottom: 0;
}

#zip1, #zip2 {
  width: 150px;
  margin: 10px 5px;
}


.top-members-ttl {
  font-weight: bold;
  padding: 0px 0px;
  color: #181818;
}

.message-space{
  min-height: 250px;
}

#toc_container {
  background: #f9f9f9;
  border: 1px solid #aaa;
  padding: 30px 50px;
  margin-bottom: 1em;
  width: 80%;
  display: table;
  font-size: 100%;
  line-height: 2;
  margin: 1em auto;
}
@media screen and (max-width: 767px) {
  #toc_container {
  background: #f9f9f9;
  border: 1px solid #aaa;
  padding: 15px;
  margin-bottom: 1em;
  width: auto;
  display: table;
  font-size: 100%;
  line-height: 2;
  margin: 1em auto;
}
}
.box-btn{
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
}
.box-btn li a{
  padding: 10px 20px;
  display: inline-block;
  background: #19254a;
  border: 1px solid #19254a;
  color: #fff;
  
}
.box-btn li a:hover{
  padding: 10px 20px;
  display: inline-block;
  background: #4bbce5;
  border: 1px solid #4bbce5;
  color: #fff;
  opacity: 1;
  transition: 1s;
}
div#toc_container {
  border: 1px solid #1b2634;
  background: #fffff0;
}
.catchcopy{
  text-align: center;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .catchcopy{
    padding-bottom: 20px;
  }
}

.top_catchcopy{
  border-bottom: 2px solid #fff;
    color: #0A6FB4;
    display: inline-block;
    padding-bottom: 3px;
    margin: 0;
    text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, 2px 0px 2px #fff, -2px 0px 2px #ffff, 0px 2px 2px #fff, 0px -2px 2px #fff;
    font-size: 40px;
    font-style: normal;
    font-weight: 500;
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 767px) {
  .top_catchcopy{
      font-size: 22px;
  }
}

/* バックグラウンドカラー一覧 */
.top_section_bg_blue{
  background: #e3f9ff;
}
.top_section_bg_offwhite{
  background: #f9f9f9;
}
.pastel_bg{
background-image: url(../images/top/main_bg_blue.jpg);
background-size: cover;
}
.polygon_bg{
  background-image: url(../images/top/polygon_bg.jpeg);
  background-size: cover;
  background-color: rgb(184 221 235);
  background-blend-mode: luminosity;
  }

.cal_box{
  width: 100%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .cal_box{
    width: 95%;
    margin: 0 auto;
  }
}
.cal_box .schedule{
  border: 5px solid #106fb4;
  margin: 10px 0;
  border-radius: 30px;
  padding: 15px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .cal_box .schedule{
    border: 0px solid #106fb4;
    padding: 0px;
    border-radius: 0px;
  }
}
.top_box{
  background-color:#fff;
  border-radius: 30px;
  padding: 40px;
  z-index: 0;
  position: relative;
  box-shadow: 0 0 10px rgb(227 249 255) inset;
}

.top_box img{
width: 100%;
}

@media screen and (max-width: 820px) {
  .top_box {
  padding: 40px;
  }
}
@media screen and (max-width: 767px) {
  .top_box {
  border-radius: 20px;
  padding: 20px 10px;
  margin: 20px 0px;
}
.top_box img{
  margin: 0px auto 0px;
}
}

/* 表組み */
.main_table_bg_color {
  background-color: #fff !important;
}
.main_table table{
  width: 100%;
  border-radius: 30px;
  border-collapse: separate;
  border-spacing: 0;
  position: relative;
  z-index: 1;
}

.main_table table td {
  border-top: 1px solid #b8ddeb;
  border-bottom: 1px solid #b8ddeb;
  padding: 15px;
  font-size: 20px;
  color: #333;
}
@media only screen and (max-width: 767px) {
  .main_table table td {
    font-size: 14px;
    padding: 10px;
  }
}
.main_table table td:nth-child(1) {
  background-color: #e3f9ff;
  border-left: 8px solid #b8ddeb;
  border-right: 1px solid #b8ddeb;
  min-width: 90px;
  text-align: center;
  color: #106fb4;
}
.main_table table td:nth-child(2) {
  border-left: 1px solid #b8ddeb;
  border-right: 8px solid #b8ddeb;
}

.main_table table tr:first-child td{
  border-top: 8px solid #b8ddeb;
  border-bottom: 1px solid #b8ddeb;
}
.main_table table tr:first-child td:nth-child(1) {
  border-radius: 20px 0 0 0;
  border-left: 8px solid #b8ddeb;
  border-right: 1px solid #b8ddeb;
}
.main_table table tr:first-child td:nth-child(2) {
  border-radius: 0 20px 0 0;
  border-left: 1px solid #b8ddeb;
  border-right: 8px solid #b8ddeb;
}
.main_table table tr:last-child td {
  border-bottom: 8px solid #b8ddeb;
}
.main_table table tr:last-child td:nth-child(1) {
  border-radius: 0 0 0 20px;
  text-align: center;
}
.main_table table tr:last-child td:nth-child(2) {
  border-radius: 0 0 20px 0;
}

/* 表組み */
.page_table_bg_color {
  background-color: #fff !important;
}
.page_table table{
  width: 85%;
  border-radius: 30px;
  border-collapse: separate;
  border-spacing: 0;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .page_table table{
    width: 100%;
  }
}
.page_table table td {
  border-top: 1px solid #b8ddeb;
  border-bottom: 1px solid #b8ddeb;
  padding: 15px;
  font-size: 20px;
  color: #333;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .page_table table td {
    font-size: 16px;
  }
}
.page_table table td:nth-child(1) {
  border-left: 8px solid #b8ddeb;
  border-right: 1px solid #b8ddeb;
  min-width: 90px;
  text-align: center;
}
.page_table table td:nth-child(2) {
  border-left: 1px solid #b8ddeb;
  border-right: 8px solid #b8ddeb;
}

.page_table table tr:first-child td{
  border-top: 8px solid #b8ddeb;
  border-bottom: 1px solid #b8ddeb;
}
.page_table table tr:first-child td:nth-child(1) {
  border-radius: 20px 0 0 0;
  border-left: 8px solid #b8ddeb;
  border-right: 1px solid #b8ddeb;
  background-color: #e3f9ff;
  color: #106fb4;
  font-weight: bold;
  width: 50%;
}
.page_table table tr:first-child td:nth-child(2) {
  border-radius: 0 20px 0 0;
  border-left: 1px solid #b8ddeb;
  border-right: 8px solid #b8ddeb;
  background-color: #e3f9ff;
  color: #106fb4;
  font-weight: bold;
  width: 50%;
}
.page_table table tr:last-child td {
  border-bottom: 8px solid #b8ddeb;
}
.page_table table tr:last-child td:nth-child(1) {
  border-radius: 0 0 0 20px;
  text-align: center;
}
.page_table table tr:last-child td:nth-child(2) {
  border-radius: 0 0 20px 0;
  
}
/* 表組みEND */

.address_area{
  padding: 15px 35px 20px;
  background: #fff;
  border-radius: 30px;
  margin: 30px 0;
  box-shadow: 0 0 10px rgb(227 249 255) inset;
}
@media screen and (max-width: 767px) {
  .address_area {
    margin: 30px auto;
    width: 95%;
}
}

.top_addresslist{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.top_addresslist li{
  border-bottom: 2px solid #b8ddeb;
}
.top_addresslist li:nth-child(1){
  width: 20%;
  font-size: 20px;
  font-weight: bold;
}
.top_addresslist li:nth-child(2){
  font-size: 20px;
  width: 80%;
  font-weight: normal;
}
.top_addresslist li:nth-child(1) p{
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 3px;
  color: #106fb4;
  z-index: 2;
  border: 1px solid;
  position: relative;
  display: inline-block;
  padding: 0 20px;
  line-height: 1.8;
  margin-top: 10px;
  margin-bottom: 10px;
  border-radius: 5px;
  vertical-align: text-top;
  min-width: 120px;
  text-align: center;
}
.top_addresslist p{
  line-height: 3.5;
}
@media screen and (max-width: 767px) {
  .top_addresslist li{
    border-bottom: 0px solid #a0a0a0;
  }
  .top_addresslist li:nth-child(1){
    width: 100%;
    font-size: 16px;
    font-weight: bold;
  }
  .top_addresslist li:nth-child(2){
    font-size: 16px;
    width: 100%;
    font-weight: normal;
    border-bottom: 1px solid #a0a0a0;
    margin-bottom: 20px;
  }
  .top_addresslist p{
    line-height: 1.8;
  }
}
.footer_pagelist{
     display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    flex-direction: row;
}
.footer_pagelist li{
    width: 50%;
    line-height: 1;
    padding: 7px 10px;
    font-size: 16px;
}
@media screen and (max-width: 820px) {
  .footer_pagelist li{
    width: 33%;
}
}
@media screen and (max-width: 767px) {
  .footer_pagelist li{
    width: 75%;
    margin: 0 auto;
    line-height: 1;
    padding: 12px 10px;
    font-size: 18px;
}
}
.footer_pagelist li a{
  color: #106fb4;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 767px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
.single-inner{
  padding: 40px;
  margin: 0 auto;
  max-width: 878px !important;
}
@media screen and (max-width: 767px) {
  .single-inner{
    padding: 10px;
  }
}

.single_title{
  color: #181818;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.4;
  margin: 30px 0;
  border-top: 2px solid #b8ddeb;
  border-bottom: 2px solid #b8ddeb;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: left;
  text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}
.single .article-header img{
  width: 100%;
}
.pager-type02 .all a{
  background: #FDD000;
}
.pager-type02 .prev a{
  background: #106fb4;
}
.pager-type02 .next a{
  background: #106fb4;
}
.recruit_title{
  position: relative;
	padding-top: 30px;
	font-size: 30px;
  text-align: center;
}
.recruit_title::before{
	position: absolute;
	content: attr(title);
	top:0;
  left: 46%;
	font-size: 22px;
	font-weight:normal;
  color: #2196f3;
}
@media screen and (max-width: 767px) {
  .recruit_title{
    padding-top: 24px;
    font-size: 20px;
  }
  .recruit_title::before{
    left: 42%;
    font-size: 16px;
    color: #2196f3;
  }
}
.c_red_label {
  background: #ff5454;
  padding: 5px 10px 5px 10px;
  font-size: 13px;
  color: #fff;
  line-height: 1;
  margin-left: 5px;
  border-radius: 3px;
  letter-spacing: 2px;
}

.page_box {
  background-color: #fff;
  border-radius: 30px;
  padding: 20px;
  z-index: 0;
  position: relative;
  text-align: center;
  /* box-shadow: 0 0 10px rgb(0 0 0 / 10%); */
  box-shadow: 0 0 10px rgb(227 249 255) inset;
}
.page_box .service_title{
  font-weight: bold;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.8;
    margin-bottom: 10px;
    letter-spacing: 3px;
    color: #333;
    z-index: 2;
    position: relative;
    text-align: center;
    display: inline-block;
}
.page_box .service_title::before{
  content: "";
  background-image: url(../images/top/bg-circle.png);
  
  background-repeat: no-repeat;
  display: inline-block;
  background-size: cover;
  width: 80px;
  height: 80px;
  position: absolute;
  right: -50px;
  bottom: -5px;
  z-index: -1;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .page_box .service_title::before{
    width: 80px;
    height: 80px;
    right: -59px;
    bottom: -3px;
  }
}
.service_2coi_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.service_2coi_flex li{
width: 50%;
padding: 20px;
}
@media screen and (max-width: 767px) {
  .service_2coi_flex li{
    width: 100%;
    padding: 20px;
    }
}
.schedule_2coi_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.schedule_2coi_flex div{
width: 50%;
padding: 5px;
}
@media screen and (max-width: 820px) {
  .schedule_2coi_flex div{
    width: 80%;
    margin: 0 auto;
    }
}
@media screen and (max-width: 767px) {
  .schedule_2coi_flex div{
    width: 100%;
    margin: 0 auto;
    }
}

.schedule_area{
  padding: 10px 20px;
  background: #fff;
  border-radius: 30px;
  border: 8px solid #b8ddeb;
  -webkit-box-shadow: 2px 2px 2px rgb(0 0 0 / 10%);
  box-shadow: 2px 2px 2px rgb(0 0 0 / 10%); 
  margin-bottom: 30px;
}


.arrow {
    position: relative;
    width: 100px;
    margin: 0 auto;
}

.arrow::before {
  animation: arrow 4s infinite;
  border: solid #c2f2ff;
  border-width: 0 0 3px 3px;
  content: "";
  margin: auto;
  position: absolute;
  top: 22px;
  left: 55px;
  transform: rotate(45deg);
  width: 15px;
  height: 15px;
}
@media screen and (max-width: 820px) {
  .arrow::before {
    left: 160px;
}
}
@media screen and (max-width: 767px) {
  .arrow::before {
    display: none;
}
}

@keyframes arrow {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  60% {
    transform: rotate(-45deg) translate(-20px, 20px);
  }
  0%, 60%, 100% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
}

.flow_4coi_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .flow_4coi_flex{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
  }
}

.flow_4coi_flex li:nth-child(1){
  width: 24%;
padding: 10px;
border: 6px solid #b8ddeb;
border-radius: 30px;
background: #fff;
}
.flow_4coi_flex li:nth-child(2){
  width: 24%;
padding: 10px;
border: 6px solid #69d2ff;
border-radius: 30px;
background: #fff;
}
.flow_4coi_flex li:nth-child(3){
  width: 24%;
padding: 10px;
border: 6px solid #106fb4;
border-radius: 30px;
background: #fff;
}
.flow_4coi_flex li:nth-child(4){
  width: 24%;
padding: 10px;
 border: 6px solid #0075c2;
 border-radius: 30px;
 background: #fff;
}


@media screen and (max-width: 820px) {
  .flow_4coi_flex li:nth-child(1){
    width: 48%;
    padding: 30px;
    margin-bottom: 30px;
  }
  .flow_4coi_flex li:nth-child(2){
    width: 48%;
    padding: 30px;
    margin-bottom: 30px;
  }
  .flow_4coi_flex li:nth-child(3){
    width: 48%;
    padding: 30px;
    margin-bottom: 30px;
  }
  .flow_4coi_flex li:nth-child(4){
    width: 48%;
    padding: 30px;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .flow_4coi_flex li:nth-child(1){
    width: 100%;
  }
  .flow_4coi_flex li:nth-child(2){
    width: 100%;
  }
  .flow_4coi_flex li:nth-child(3){
    width: 100%;
  }
  .flow_4coi_flex li:nth-child(4){
    width: 100%;
  }
}
.flow_4coi_flex li span{
  font-size: 35px;
  text-align: center;
  display: block;
}

.flow_4coi_flex li h3{
  font-size: 20px;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 20px;
}
@media screen and (max-width: 820px) {
  .flow_4coi_flex li h3{
    font-size: 30px;
  }
}
.flow_4coi_flex li p{
font-size: 16px;
color: #333;
margin-bottom: 10px;
}


@media screen and (max-width: 767px) {
  .flow_4coi_flex li{
    width: 100%;
    padding: 5px;
    }
}
.price_area{
  width: 85%;
  margin: 15px auto;
}
.price_area p{
  line-height: 1.8;
}
.blue_color{
 color: #2196F3; 
}
.program_3col_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
  position: relative;
  z-index: 0;
  width: 90%;
  margin: 0 auto;
}
.program_3col_flex li{
  width: 33%;
  padding: 5px;
}
@media screen and (max-width: 767px) {
  .program_3col_flex li{
    width: 50%;
    padding: 5px;
  }
}

.program_2coi_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.program_2coi_flex li{
width: 50%;
padding: 5px;
}
@media screen and (max-width: 767px) {
  .program_2coi_flex li{
    width: 100%;
    padding: 5px;
    }
}
.program_time{
  padding: 30px 20px;
  background: #fff;
  text-align: center;
  border-radius: 30px;
  -webkit-box-shadow: 2px 2px 2px rgb(0 0 0 / 10%);
  box-shadow: 2px 2px 2px rgb(0 0 0 / 10%); 
}
.program_time p{
  font-size: 18px;
  line-height: 1.6;
  margin: 5px 0;
}
@media screen and (max-width: 767px) {
  .program_time p{
    margin: 0px 0 0px;
  }
}
.program_time .program_title{
  font-size: 26px;
  border-radius: 3px;
  display: inline-block;
} 
.program_time span{
  margin-right: 10px;
  font-size: 30px;
  vertical-align: sub;
}
@media screen and (max-width: 767px) {
  .program_time span{
    margin-right: 10px;
    font-size: 30px;
    vertical-align: sub;
    display: inline-block;
    width: 100%;
  }
}
.program_area{
  padding: 15px;
  background: #fffcf6;
  margin-bottom: 30px;
  margin-top: 30px;
  text-align: left;
  min-height: 240px;
}
@media screen and (max-width: 820px) {
  .program_area{
    min-height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .program_area{
    min-height: 0px;
  }
}
.contact_area{
padding: 50px;
border: 6px solid #C2F2FF;
border-radius: 30px;
background: #fff;
margin: 0 auto;
width: 85%;
}
@media screen and (max-width: 767px) {
  .contact_area{
    padding: 10px;
    width: 95%;
  }
}
.contact_area h3 {
  font-size: 50px !important;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 20px;
  }
.contact_area span  {
  color: #fff;
  background: #2196f3;
  border-radius: 50%;
  margin-right: 10px;
  width: 80px;
  height: 80px;
  display: inline-block;
  }
  @media screen and (max-width: 767px) {
    .contact_area span {
      color: #fff;
      background: #2196f3;
      border-radius: 50%;
      margin-right: 10px;
      width: 46px;
      height: 46px;
      display: inline-block;
      font-size: 30px;
  }
  }
.contact_area p {
  font-size: 18px;
  color: #333;
  text-align: center;
}

.txt-form p{
  font-size: 18px;
  color: #333;
}
@media screen and (max-width: 767px) {
  .contact_area p {
    font-size: 16px;
    color: #333;
    text-align: left;
  }
  .txt-form p{
    font-size: 16px;
    color: #333;
  }
}



/* ボタン */
.drop-button {
  line-height: 40px;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 9;
  background: #fff;
  letter-spacing: 1px;
  cursor: pointer;
  border: 2px solid #0A6FB4;
  color: #0A6FB4;
  border-radius: 50px;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 820px) {
  .drop-button {
  min-width: 270px;
  font-size: 16px;
  line-height: 30px;
}
}

.drop-button a{
  color: #0A6FB4;
  display: block;
  height: auto;
  padding: 10px 50px;
}
@media screen and (max-width: 820px) {
  .drop-button a{
   padding: 10px 15px;
}
}


.drop-button::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -15px;
  height: 15px;
  width: 15px;
  border-radius: 50%;
  background: #0A6FB4;
  z-index: -1;

}
@keyframes drop {
  0% {
    top: -15px;
  }
  60% {
    height: 15px;
    border-radius: 50%;
    left: 50%;
    width: 15px;
    top: calc(100% - 10px);
  }
  80% {
    top: calc(100% - 5px);
    width: 100%;
    left: 0;
    border-radius: 0;
    opacity: 1;
  }
  100% {
    width: 100%;
    left: 0;
    border-radius: 0;
    bottom: 0;
    top: initial;
    height: 30px;
    animation-delay: 120s;
    opacity: 0;
  }
}
.drop-button:hover::before {
  animation: drop 0.5s linear;
}
.drop-button::after {
  content: "";
  position: absolute;
  left: 0%;
  bottom: 0px;
  height: 0%;
  width: 100%;
  border-radius: 0%;
  background: #0A6FB4;
  z-index: -1;
}
.drop-button:hover::after {
  height: 100%;
  transition: all 0.4s linear;
  transition-delay: 0.5s;
}
.drop-button:hover a{
  color: #fff;
  transition: all 0.4s linear;
  transition-delay: 0.5s;
}

.css-circle001{
  position: relative;
}
.css-circle-item001{
  border-radius: 55% 45% 74% 26% / 66% 32% 68% 34%;
  background: #d7f5ff;
  width: 300px;
  height: 300px;
  animation-name: corners01, rotate01;
  animation-duration: 30s, 12s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  position: absolute;
  top: 50%;
  left: 24%;
  transform: translateY(-50%);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .css-circle-item001{
    width: 200px;
    height: 200px;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
}

@keyframes corners01 {
  0%   { border-radius: 55% 45% 74% 26% / 66% 32% 68% 34%; }
  25%  { border-radius: 33% 67% 44% 56% / 28% 56% 44% 72%; }
  50%  { border-radius: 29% 71% 37% 63% / 55% 40% 60% 45%; }
  75%  { border-radius: 53% 47% 53% 47% / 49% 63% 37% 51%; }
  100% { border-radius: 55% 45% 74% 26% / 66% 32% 68% 34%; }
}
@keyframes rotate01 {
  0%   { transform: rotate(0deg);}
  100% { transform: rotate(360deg)}
}

.top_stripe_title{
  text-align: center;
  width: 80%;
  margin: 10px auto;
  position: relative;
}
.top_stripe_title h2 {
  position: relative;
  padding: 1rem;
  outline: 2px solid #106fb4;
  background: #fff;
  outline-offset: -5px;
  background-image: repeating-linear-gradient(135deg, #b8ddeb 0 7px, transparent 7px 12px);
  background-repeat: no-repeat;
  background-position: 10px 10px;
  color: #106fb4;
  font-size: 35px;
  font-weight: bold;
  text-align: center;
  text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, 2px 0px 2px #fff, -2px 0px 2px #ffff, 0px 2px 2px #fff, 0px -2px 2px #fff;
  z-index: 1;
}
@media screen and (max-width: 820px) {
  .top_stripe_title h2 {
    font-size: 22px;
  }
}

.title-type-stripsky{
  position: relative;
  text-align: left;
  width: 100%;
  height: auto;
  background-image: url(../images/top/strip_sky.png);
  background-repeat: repeat-x;
  background-size: 30px 30px;
  z-index: 1;
}


/* 見出しh３ */
.main_h3_title{
  display: flex;
    margin: 20px 0;
    flex-direction: row;
    justify-content: flex-start;
}
.main_h3_title li:nth-child(1){
  width: auto;
  text-align: left;
}
.main_h3_title li:nth-child(2){
  text-align: left;
  width: 60%;
  height: auto;
  margin-left: 15px;
  background-image: url(../images/top/strip_sky.png);
  background-repeat: repeat-x;
  background-size: 30px 30px;
  z-index: 1;
}
.main_h3_title h3{
  line-height: 1;
  font-size: 30px;
  color: #106fb4;
  display: inline-block;
  letter-spacing: 3px;
  text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, 2px 0px 2px #fff, -2px 0px 2px #ffff, 0px 2px 2px #fff, 0px -2px 2px #fff;
}

@media screen and (max-width: 1024px) {
  .main_h3_title li:nth-child(2){
    width: 55%;
    background-size: 30px 30px;
  }
  .main_h3_title h3{
    font-size: 30px;
  }
}
@media screen and (max-width: 820px) {
  .main_h3_title li:nth-child(2){
    width: 50%;
    background-size: 25px 25px;
  }
  .main_h3_title h3{
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .main_h3_title li:nth-child(2){
    width: 15%;
    background-size: 25px 25px;
  }
  .main_h3_title h3{
    font-size: 18px;
  }
}
.concept_area{
  width: 90%;
  text-align: center;
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
.concept_area img{
  padding: 50px 0;
  width: 80%;
}
@media screen and (max-width: 820px) {
  .concept_area img{
    padding: 50px 0;
    width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .concept_area img{
    padding: 50px 0;
    width: 100%;
  }
}
.schedule_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.schedule_flex li{
  width: 50%;
  padding: 20px;
}
@media screen and (max-width: 820px) {
  .schedule_flex li{
    width: 50%;
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .schedule_flex li{
    width: 100%;
  }
}
.schedule_flex h3{
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  color: #181818;
}
@media screen and (max-width: 820px) {
  .schedule_flex h3{
    font-size: 16px;
  }
}

/* Pagination */
.pagination_box{
  position: relative;
}
.pagination_title{
  color: #181818;
  font-size: 16px;
  padding: 5px;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0px;
  text-align: center;
  box-sizing: border-box;
  z-index: 1;
  transform: translateY(-50%);
  text-shadow: 2px  2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}
@media screen and (max-width: 820px) {
  .pagination_title{
    font-size: 14px;
  }
}
.pagination_img {
  filter: brightness(0.5);
}
.pagination_img img{
  width: 320px;
  height: 100px;
  object-fit: cover;
  object-position: top;
}
@media screen and (max-width: 1180px) {
  .pagination_img img{
    width: 280px;
    height: 100px;
  }
}
@media screen and (max-width: 1180px) {
  .pagination_img img{
    width: 250px;
    height: 100px;
  }
}
@media screen and (max-width: 820px) {
  .pagination_img img{
    width: 230px;
    height: 100px;
  }
}
@media screen and (max-width: 767px) {
  .pagination_img img{
    width: 120px;
    height: 120px;
  }
}
.pager-type03 {
  margin-top: 25px;
  font-size: 0;
  text-align: center;
}
.pager-type03 li {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  font-size: 1.4rem;
}
.pager-type03 a {
  display: block;
  position: relative;
  padding: .5em 2em;
  background: #00B1FF;
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 5px;
}
@media only screen and (max-width: 767px) {
  .pager-type03 a {
    padding: .5em 1em;
  }
}
.pager-type03 .all a{
  background: #FDD000;
}
.pager-type03 .prev a{
  background: #ffffff;
    border: 2px solid #106fb4;
    padding: 0;
}
.pager-type03 .next a{
  background: #ffffff;
    border: 2px solid #106fb4;
    padding: 0;
}


.program_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.program_flex li{
  width: 48%;
  padding: 20px;
}
@media screen and (max-width: 820px) {
  .program_flex li{
    width: 100%;
  }
}
.program_flex p {
  color: #333;
  font-size: 16px;
  line-height: 2;
  margin-bottom: 0px;
}

.program-title{
  color: #181818;
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  margin: 10px 0;
  border-top: 2px solid #106fb4;
  border-bottom: 2px solid #106fb4;
  text-align: left;
  padding-left: 40px;
  padding-top: 5px;
  padding-bottom: 5px;
  text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}
@media screen and (max-width: 820px) {
  .program-title{
    font-size: 18px;
    line-height: 2.2;
  }
}
@media screen and (max-width: 767px) {
  .program-title{
    font-size: 16px;
    line-height: 2;
    padding-top: 10px;
    padding-bottom: 10px;
    letter-spacing: -1px;
  }
}
.number01{
  position: relative;
}
.number01::before{
  content: "";
  background-image: url(../images/top/number01.png);
  background-repeat: no-repeat;
  display: inline-block;
  background-size: cover;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 20px;
  left: -45px;
  text-align: center;
  box-sizing: border-box;
  z-index: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .number01::before{
    width: 70px;
    height: 70px;
    top: 25px;
    left: -35px;
  }
}
.number02{
  position: relative;
}
.number02::before{
  content: "";
  background-image: url(../images/top/number02.png);
  background-repeat: no-repeat;
  display: inline-block;
  background-size: cover;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 20px;
  left: -45px;
  text-align: center;
  box-sizing: border-box;
  z-index: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .number02::before{
    width: 70px;
    height: 70px;
    top: 25px;
    left: -35px;
  }
}
.number03{
  position: relative;
}
.number03::before{
  content: "";
  background-image: url(../images/top/number03.png);
  background-repeat: no-repeat;
  display: inline-block;
  background-size: cover;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 20px;
  left: -45px;
  text-align: center;
  box-sizing: border-box;
  z-index: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .number03::before{
    width: 70px;
    height: 70px;
    top: 25px;
    left: -35px;
  }
}
.number04{
  position: relative;
}
.number04::before{
  content: "";
  background-image: url(../images/top/number04.png);
  background-repeat: no-repeat;
  display: inline-block;
  background-size: cover;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 20px;
  left: -45px;
  text-align: center;
  box-sizing: border-box;
  z-index: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .number04::before{
    width: 70px;
    height: 70px;
    top: 25px;
    left: -35px;
  }
}
.about_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.about_flex li:nth-child(1){
  width: 60%;
  padding: 0px;
}
.about_flex li:nth-child(2){
  width: 40%;
  padding: 0px;
}
@media screen and (max-width: 820px) {
  .about_flex li:nth-child(1){
    width: 100%;
  }
  .about_flex li:nth-child(2){
    width: 60%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .about_flex li:nth-child(1){
    width: 100%;
  }
  .about_flex li:nth-child(2){
    width: 80%;
    margin: 0 auto;
  }
}

.about_logo_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.about_logo_flex div:nth-child(1){
  width: 80%;
  padding: 10px;
}
.about_logo_flex div:nth-child(2){
  width: 20%;
  padding: 10px;
}
@media screen and (max-width: 820px) {
  .about_logo_flex div:nth-child(1){
    width: 100%;
  }
  .about_logo_flex div:nth-child(2){
    width: 40%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .about_logo_flex div:nth-child(1){
    width: 100%;
  }
  .about_logo_flex div:nth-child(2){
    width: 60%;
    margin: 0 auto;
  }
}

.pagebox_area{
  padding: 15px 30px 15px;
  background: #fff;
  border-radius: 30px;
  margin: 30px 0;
  box-shadow: 0 0 10px rgb(184 220 232) inset;
}
@media screen and (max-width: 767px) {
  .pagebox_area {
    margin: 30px auto;
    width: 95%;
}
}
.pageboxlist{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.pageboxlist li:nth-child(1){
  width: 15%;
  padding: 10px;
}
.pageboxlist li:nth-child(2){
  font-size: 18px;
  padding: 20px;
  width: 85%;
  font-weight: normal;
}
@media screen and (max-width: 820px) {
  .pageboxlist li:nth-child(1){
    width: 30%;
    padding: 20px;
  }
  .pageboxlist li:nth-child(2){
    font-size: 16px;
    padding: 20px;
    width: 70%;
    font-weight: normal;
  }
}
@media screen and (max-width: 767px) {
  .pageboxlist li:nth-child(1){
    width: 60%;
    padding: 10px;
    margin: 0 auto;
  }
  .pageboxlist li:nth-child(2){
    font-size: 16px;
    padding: 10px;
    width: 100%;
  }
}
.schedule_title{
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 3px;
  color: #106fb4;
  z-index: 2;
  border: 1px solid;
  position: relative;
  display: inline-block;
  padding: 0 20px;
  margin-top: 10px;
  margin-bottom: 20px;
  border-radius: 5px;
  text-align: center;
  width: 100%;
}
.time_schedule{
  display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.time_schedule li:nth-child(odd){
  width: 20%;
  font-size: 20px;
  font-weight: bold;
  text-align: right;
  padding-right: 20px;
  color: #106fb4;
  margin-bottom: 20px;
  line-height: 1;
}
.time_schedule li:nth-child(even){
  width: 80%;
  font-size: 20px;
  margin-bottom: 20px;
  line-height: 1;
}
.time_schedule li:nth-child(even) span{
  font-size: 15px;
  line-height: 1;
}
.logo_guide_area{
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .time_schedule li:nth-child(odd){
    width: 25%;
    font-size: 16px;
  }
  .time_schedule li:nth-child(even){
    width: 75%;
    font-size: 16px;
    line-height: 1.4;
  }
  .time_schedule li:nth-child(even) span{
    font-size: 14px;
    line-height: 1.4;
  }
  .logo_guide_area{
    margin: 20px 0;
  }
}
.flex_4col_text{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.flex_4col_text li{
  width: 25%;
  padding: 10px;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .flex_4col_text li{
    width: 33%;
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .flex_4col_text li{
    width: 50%;
    padding: 10px;
  }
}


.bonus-banner {
  text-align: center;
  background: #fff;
  border: 2px solid #e0e0e0;
  padding: 20px;
  margin-top: 30px;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  font-family: 'Arial', sans-serif;
}
.ribbon {
  /* display: inline-block; */
  background: #fefa95;
  color: #d83a3a;
  font-weight: bold;
  padding: 8px 20px;
  font-size: 24px;
  border-radius: 5px;
  margin-bottom: 15px;
}
.bonus-amount {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 10px 0;
}
.bonus-amount .logo {
  height: 150px;
}
.amount {
  font-size: 2em;
  color: red;
  font-weight: bold;
}
.amount .num {
  font-size: 2em;
}
.notice.red {
  color: red;
  font-weight: bold;
  margin-top: 15px;
  font-size: 20px;
}
.note {
  color: #333;
  font-size: 16px;
  margin-top: 10px;
}
@media screen and (max-width: 767px){
  .bonus-amount .logo{
    height: 100px;
  }
  .note{
    font-size: 14px;
  }
}