@charset "UTF-8";

/*
目次~TOPページのコンテンツ~
#mainimage
#汎用ボタン
#loopSlider　無限ループスライダー
#TOP コンテンツ
#TOP newsパーツ
#Custom ここに追記
#mediaquery
#
#
/*===================
	　#mainimage
=====================*/
.mainimage .slick-slide img {
  /*スライダーの時*/
  margin: 0 auto;
}

.mainimage,
.slider {
  margin-bottom: 0;
}

.mainimage img {
  height: auto;
  max-width: none;
  max-height: none;
  width: 100%;
}

/*==================
	#汎用ボタン
====================*/
.link_btn {
  text-align: center;
}

.link_btn a {
  background: url(img/btn_bg.jpg);
  display: block;
  color: #fff;
  position: relative;
  padding: 12px 20px 10px;
  width: 100%;
  max-width: 480px;
  text-align: center;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  font-weight: bold;
}

.link_btn a:before {
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 15px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.link_btn a:hover {
  opacity: 0.7;
  -moz-opacity: 0.7;
  filter: alpha(opacity=70);
  cursor: pointer;
}

/*==========================
	#loopSlider　無限ループスライダー
==========================*/
.loopSliderWrap {
  top: 0;
  left: 0;
  height: 180px;
  overflow: hidden;
  position: absolute;
}

.loopSlider {
  margin: 0 auto;
  width: 100%;
  height: 180px;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.loopSlider ul {
  height: 180px;
  float: left;
  overflow: hidden;
}

.loopSlider ul li {
  width: 250px;
  height: 180px;
  float: left;
  display: inline;
  overflow: hidden;
}

.loopSlider ul li img {
  width: 100%;
}

/*=================
	　#TOP コンテンツ
===================*/
/* トップページ幅 100% */
.home #contents>.inner {
  width: 100%;
  max-width: 100%;
}

.topinner {
  width: 1000px;
  margin: 0 auto;
  max-width: 96%;
}

/* tinyMCE用に見出しをリセット */
.toppage h3,
.toppage h4,
.toppage h5 {
  background: none;
  border: none;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
}

.toppage h3::before,
.toppage h3::after,
.toppage h4::before,
.toppage h4::after,
.toppage h5::before,
.toppage h5::after {
  display: none;
}

.top .mainblock a {
  text-decoration: none;
}

/*=================
	　#TOP newsパーツ
===================*/
.sec_news {
  background: url(img/top01_bg01.jpg)no-repeat center/cover;
}

.sec_news .time-table thead th {
  color: #fff;
}

.sec_news .time-table tbody {
  border-color: #fff;
}

.sec_news .time-table th,
.sec_news .time-table td {
  color: #fff;
}

.sec_news .table-text {
  color: #fff;
  border: none;
}

.sec_news .news {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.sec_news .news dt {
  color: #fff;
  padding: 12px 5px;
  width: 100%;
}

.news dd a {
  text-decoration: none;
  color: #fff;
}

.sec_news .news dd {}

.sec_news .news dd a:hover {
  text-decoration: underline;
}

.sec_news .news .btn a:hover {
  opacity: 0.7;
  -moz-opacity: 0.7;
  -webkit-opacity: 0.7;
}

.sec_news .news h3 {
  font-size: 28px;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.1em;
  position: relative;
  font-weight: bold;
  padding: 5px 10px 5px 0;
  margin: 0 auto 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
}

.sec_news .news .btn a {
  position: absolute;
  top: 10px;
  right: 0;
  color: #fff;
  font-size: 14px;
  background: #6db91b;
  display: table;
  padding: 1px 12px;
}

.sec_news .news .btn a:after {
  content: " >";
  font-weight: bold;
}

#main .news {
  margin-bottom: 1.5em;
  position: relative;
}

#main .news h3 .subtitle {
  font-size: 12px;
  margin-left: 0;
}

#main .news dt {
  padding: 0;
}

#main .news dd {
  padding: 20px 0;
}

#main .news .btn a {
  font-size: 12px;
}

/****************
	#Custom
*****************/


/****************
	#mediaquery
*****************/
@media screen and (min-width: 768px) {

  /*PC*/
  .contact figure {
    -webkit-transform: translateY(10%);
    -ms-transform: translateY(10%);
    transform: translateY(10%);
    margin-left: 2%;
  }

  .contact h3 {
    font-size: 28px;
    color: #fff;
    border-right: 1px solid;
    padding-right: 20px;
  }

  .sec5-text {
    width: 57%;
  }

  .fr {
    float: right;
  }

  .fl {
    float: left;
  }

  .content {
    width: 96%;
    /* float: right; */
  }

  .content-inner {
    width: 80%;
    margin: 0 auto;
  }

  .sec3 .content-inner {
    width: 99%;
  }

  .flex .news-tel {
    width: 66%;
    -webkit-box-flex-basis: 66%;
    -ms-flex-preferred-size: 66%;
    flex-basis: 66%;
  }

  .flex .news-access {
    width: 33%;
    -webkit-box-flex-basis: 33%;
    -ms-flex-preferred-size: 33%;
    flex-basis: 33%;
  }

  .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: flex;
    -moz-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .flex+.flex {
    margin-top: 2em;
  }

  .col_2 {
    width: 48%;
    -webkit-box-flex-basis: 48%;
    -ms-flex-preferred-size: 48%;
    flex-basis: 48%;
  }

  .sec2 .col_2.fr {
    width: 48.3%;
    -webkit-box-flex-basis: 48.3%;
    -ms-flex-preferred-size: 48.3%;
    flex-basis: 48.3%;
  }

  .col_3 {
    width: 32%;
    -webkit-box-flex-basis: 32%;
    -ms-flex-preferred-size: 32%;
    flex-basis: 32%;
  }

  .col_4 {
    width: 23.5%;
    -webkit-box-flex-basis: 23.5%;
    -ms-flex-preferred-size: 23.5%;
    flex-basis: 23.5%;
  }

  .col_5 {
    width: 18%;
    -webkit-box-flex-basis: 18%;
    -ms-flex-preferred-size: 18%;
    flex-basis: 18%;
  }

  .sec4 figure {
    width: 196px;
  }
}

@media screen and (max-width: 1042px) and (min-width:768px) {
  .sec5 {
    background-position: 66%;
  }

  .sec5-text {
    background: rgba(255, 255, 255, .7);
    padding: 0.5em 1em 1em;
    border-radius: 16px;
  }
}

@media screen and (max-width: 767px) {

  /*SP*/
  .sec_news .news dt {
    float: none;
  }

  .sec5 {
    background: url(img/top05_bg.jpg)no-repeat 20%/cover;
  }

  .access-btn {
    margin: 1em auto;
  }

  figure {
    text-align: center;
  }

  .link_btn a {
    margin: 0 auto 10px;
    font-size: 14px !important;
  }

  .sp_col_2 {
    width: 48%;
    -webkit-box-flex-basis: 48%;
    -ms-flex-preferred-size: 48%;
    flex-basis: 48%;
    text-align: center;
  }

  .sec {
    padding: 20px 0;
  }
}

@media screen and (max-width: 420px) {
  .topinner {
    width: 420px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .page-title h2 {
    width: 100%;
    text-align: center;
    line-height: 1.4;
    padding: 1.5em;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  .access-btn {
    font-size: 12px;
    padding: 15px;
  }
}

/**/

.mainimage_wrap {
  /* margin-bottom: 25px; */
}

.mainimage_wrap,
.mainimage {
  position: relative;
}

.mainimage::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  background: url(img/main_bg.png) no-repeat bottom center;
  transform: translateY(1px);
}

.catchcopy {
  position: absolute;
  bottom: 0;
  right: 23%;
  z-index: 4;
}

.mainimage .slick-initialized .slick-slide {
  padding: 0 10px;
}

@media print,
screen and (min-width: 2000px) {
  .mainimage::after {
    background-size: 100% auto;
  }
}

@media print,
screen and (max-width: 1500px) {
  .mainimage::after {
    background-size: 120% auto;
  }

  .catchcopy {
    width: 16%;
  }
}

@media print,
screen and (max-width: 1000px) {
  .catchcopy {
    height: auto;
    right: auto;
    right: 15%;
    width: 19%;
  }

  .slick-initialized .slick-slide {
    padding: 0;
  }
}

@media only screen and (max-width: 767px) {
  .mainimage::after {
    background-size: 120%;
  }

  .catchcopy {
    left: 5%;
    width: 38%;
  }

  .catchcopy img {
    max-height: 100%;
  }

  .sec4 .flex {
    display: block;
    width: 100%;
  }

  .sec4 figure {
    display: inline-block;
    width: 48%;
  }
}

body.home h1.home {
  display: block;
}

body.home h1.not_home {
  display: none;
}

body:not(.home) h1.home {
  display: none;
}

body:not(.home) h1.not_home {
  display: block;
}

@media (min-width : 768px) {
  .blog_container {
    display: grid;
    grid-template-columns: 72% 1fr;
    gap: 20px;
  }

  .case_flex {
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 0 15px;
  }
}

.blog_container h3 {
  padding: 0;
  margin-left: 0;
  width: 100%;
  border-bottom: 0;
}

.blog_container .article_list>li>a {
  font-feature-settings: "palt";
  font-size: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 10px;
  line-height: 1.4;
  padding: 8px 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.blog_container .children>li {
  border: 0!important;
  margin: 0!important;
}
.blog_container .children>li > a {
  padding-left: 1em;
  position: relative;
}
.blog_container .children>li > a:before {
  content: "";
  width: 6px;
  height: 6px;
  background: #b5a07a;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 50%;
}