@charset "utf-8";
table:not(.intro-table):not(.example-table):not(.fitting-table):not(.summary-table) th {
  text-align: left;
  vertical-align: middle;
}

table:not(.intro-table):not(.example-table):not(.fitting-table):not(.summary-table) th span {
  display: inline-block;
  color: #fff;
  text-align: center;
  line-height: 1;
  margin-right: 10px;
  background-color: #ef7b1b;
}
.freechoice-localnav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}

.freechoice-localnav::after {
  display: none;
}

.freechoice-localnav > div {
  position: relative;
  overflow: hidden;
  margin: 0 10px;
}

.freechoice-localnav a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  border-radius: 20px 20px 0 0;
  background-color: #f7b216;
  color: #fff !important;
  text-decoration: none !important;
  line-height: 1.5;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}

.freechoice-localnav-inner {
  border-style: solid;
  border-color: #f7b216; 
  border-top: 0;
  border-radius: 0 0 20px 20px;
}

.freechoice-localnav a::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.freechoice-localnav-logo {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}

.freechoice-localnav-thumbnail img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  table:not(.intro-table):not(.example-table):not(.fitting-table):not(.summary-table) th span {
    padding-top: 10px;
    width: 35px;
    height: 35px;
  }
  table:not(.intro-table):not(.example-table):not(.fitting-table):not(.summary-table) td {
    line-height: 1.4;
  }
  .freechoice-localnav {
    margin-top: 33px;
  }
  .freechoice-localnav a {
    height: 50px;
    font-size: 16px;
    line-height: 1.2;
  }
  .freechoice-localnav a span {
    font-size: 12px;
  }
  .freechoice-localnav-logo {
    margin: 0 !important;
    height: 107px;
  }
}

@media screen and (max-width: 768px) {
  table:not(.intro-table):not(.example-table):not(.fitting-table):not(.summary-table) th span {
    padding-top: 4px;
    width: 20px;
    height: 20px;
  }
  .freechoice-localnav {
    margin-top: 33px;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
   /* justify-content: space-between; 2カラム */
  }
  
  .freechoice-localnav > div {
    margin: 0 0 0px;
    width: 48%; 
  }
  
  .freechoice-localnav a {
    height: 40px;
    font-size: 13px;
    line-height: 1.2;
  }

  .freechoice-localnav a span {
    font-size: 10px;
  }
  
  .freechoice-localnav-inner {
    border-width: 1px;    
  }
  
  .freechoice-localnav-logo {
    margin: 0 !important;
    height: 70px;
  }
  
  .freechoice-localnav > div:nth-child(1) .freechoice-localnav-logo img {
    width: 42.857%;
  }

  .freechoice-localnav > div:nth-child(2) .freechoice-localnav-logo img {
    width: 56.0714%;
  }

  .freechoice-localnav > div:nth-child(3) .freechoice-localnav-logo img {
    width: 74.642%;
  }

  .freechoice-localnav > div:nth-child(4) .freechoice-localnav-logo img {
    width: 41.785%;
  }
  .bnr-campain{
    margin-bottom: 0!important;
  }
  .contact-box {
    margin: 20px auto 0!important;
  }
}

_:-ms-lang(x)::-ms-backdrop, table:not(.intro-table):not(.example-table):not(.fitting-table):not(.summary-table) th span {
  padding-top: 13px;
}

.column-linkbox {
  max-width: 700px;
  margin: 0 auto 20px;
}
a.column-linkbox-item,
a.column-linkbox-item:link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fef7e7;
  border-radius: 20px;
  margin: 0 auto 20px;
  padding: 20px;
  text-decoration: none;
  font-weight: bold;
  transition: .3s;
}
a.column-linkbox-item:hover {
  opacity: 0.5;
  transition: .3s;
}
.content .column-linkbox-item figure,
.content .column-linkbox-item p{
  margin: 0;
}
.column-linkbox-item figure {
  width: 30%;
}
.column-linkbox-item figure img {
  max-width: 200px;
  margin-right: 20px
}
.column-linkbox-item p {
  width: 65%;
}
.column-linkbox-item img:hover {
  opacity: 1!important;
}
.content .btn-link.x-large.btn-row2 {
  padding: 14px 40px 10px;
  min-height: 51px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .content .btn-link.x-large {
    font-size: 16px;
    line-height: 1.2;
  }
}

.disp-pc{
  display: block;
}
.disp-sp{
  display: none;
}
@media only screen and (max-width: 1150px){
  .main .main-text{
    width: 80%;
    margin: 0 auto;
  }
  .disp-pc{
    display: none;
  }
  .disp-sp{
    display: block;
  }
}
.slideArea {
  position: relative;
  width: 100vw;
  overflow: hidden;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-bottom: 80px;
}


.slideArea img {
  width: 98%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.mainVisual{
  width: 100%;
}

.mainVisual img{
  width: 100%;
  height: auto; 
}
.topMess{
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 100px;
  align-items: center;
  box-sizing: border-box;
}
.layout-frame-box div::after {
  display: none!important;
}

.mt100{
  margin-top: 100px;
  margin-bottom: 30px;
}
.__reverse{
  flex-direction: row-reverse;
}
.topMess .topMess_img{
  width: 46%;
}
.topMess .topMess_img img{
  width: 100%;
  height: auto;
}
.topMess .topMess_text{
  width: 46%;
}
.topMess .topMess_text h2{
  color: #000!important;
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  line-height: 1.6;
  margin:0 20% 30px 0!important;
  font-weight: 300!important;
}
.topMess .topMess_text p{
  line-height: 2;
  margin-right: 20%;
}
.topMess.__reverse .topMess_text h2{
  margin:0 0 30px 20%!important;
}
.topMess.__reverse .topMess_text p{
  line-height: 2;
  margin-right: 0%;
  margin-left: 20%;
}
@media only screen and (max-width: 1150px){
  .topMess{
    width: 100%;
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  
  .mt100{
    margin-top: 0px;
    margin-bottom: 30px;
  }
  .__reverse{
    flex-direction: row;
  }
  .topMess .topMess_img{
    width: 100%;
    margin-bottom: 30px;
  }
  .topMess .topMess_text{
    width: 100%;
  }
}


/* --- .button-siryou --- */
.button-siryou {
  border: 1px solid #ef7b1b;
  text-decoration: none;
  margin: 70px auto 0;
  max-width: 800px;
  padding: 20px 40px;
  display: block;
  text-decoration: none!important;
}
.button-siryou .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.button-siryou .txt {
  margin: 0 20px;
  width: 52%;
}
.button-siryou .txt p{
  margin: 0;
  font-size: 16px;
}
.button-siryou .txt .bold.large {
  margin-bottom: 10px;
  font-size: 23px;
  line-height: 1.2!important;
}
.button-siryou .img  {
  width: 25%;
}
.button-siryou .img img {
  width: 100%;
}

@media only screen and (max-width: 1150px){
  .button-siryou {
    margin: 30px auto 30px;
    padding: 20px 20px;
  }
  .button-siryou .flex {
    flex-wrap: wrap;
  }
  .button-siryou .txt {
    margin: 0 20px;
    width: 100%;
  }
  .button-siryou .txt p{
    margin: 0;
    /* font-size: 14px; */
  }
  .button-siryou .txt .bold.large {
    margin-bottom: 10px;
    font-size: 18px;
  }
  .button-siryou .img  {
    width: 80%;
    margin: 20px auto 20px;
    text-align: center;
  }
  .button-siryou .img img {
    width: 85%;
    margin: 0 auto;
  }
  .button-siryou > p{
    margin: 0 0 0px!important;
  }
}

.content .btn-link.x-large, .sidebar .btn-link.x-large{
  width: 284px;
}

@media only screen and (max-width: 768px) {
  .page-title {
    margin-bottom: 0px;
    padding: 20px 10px;
    border-bottom-width: 2px;
  }
  .mainVisual {
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-bottom: 40px;
  }
}

@media print, screen and (min-width: 769px) {
  .content .layout-frame {
    clear: both;
    margin: 10px 0 0 -30px;
  }
}
@media only screen and (max-width: 768px) {
  .topMess .topMess_text h2 {
    font-size: 22px!important;
    line-height: 1.75;
  }
  .topMess .topMess_text p {
    margin-right: 0%;
  }
  .topMess.__reverse .topMess_text h2 {
    margin: 0 0 30px 0% !important;
  }
  .topMess.__reverse .topMess_text p {
    margin-right: 0%;
    margin-left: 0%;
  }
}