/*
###################################################################################################################################

#hom_visual

###################################################################################################################################
*/
/*hom_visual ------------------------------------------------------------------------------------*/
#hom_visual {
  background-repeat: no-repeat;
  background-size: cover;
}
#hom_visual .secttl, #hom_visual .ttl, #hom_visual .lead {
  color: #FFFFFF;
}
@media screen and (min-width:768px), print {
  /*hom_visual pc ------------------------------------------------------------------------------------*/
  #hom_visual {
    padding: 100px 0 100px 0;
    background-image: url(../../images/index/bg_visual_01.png);
    background-position: center top;
  }
  #hom_visual .ttl, #hom_visual .lead {
    text-align: center;
  }
  #hom_visual .ttl {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  #hom_visual .secttl {
    margin-bottom: 30px;
    font-size: 4rem;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*hom_visual tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*hom_visual sp ------------------------------------------------------------------------------------*/
  #hom_visual {
    height: 70vh;
    background-image: url("../../images/index/bg_visual_01_sp.png");
  }
  #hom_visual .ttl {
    margin-bottom: 9vh;
    font-size: 4.17vw;
    text-align: center;
  }
  #hom_visual .secttl {
    padding-top: 35vh;
    font-size: 6.94vw;
    margin-bottom: 3vh;
    letter-spacing: -0.04em;
  }
}
/*
###################################################################################################################################

#hom_about

###################################################################################################################################
*/
/*hom_about ------------------------------------------------------------------------------------*/
#hom_about .col_wrap {
  position: relative;
}
#hom_about .col_wrap .txt_col {
  background-color: #FFFFFF;
}
#hom_about .col_wrap .pic_col .catch {
  color: #FFFFFF;
  font-family: futura-pt-condensed, sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
}
#hom_about .col_wrap .pic_col {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
#hom_info .btn01 {
  text-align: left;
  margin-top: 20px;
}
@media screen and (min-width:768px), print {
  /*hom_about pc ------------------------------------------------------------------------------------*/
  #top #hom_visual .container {
    margin-top: 80px;
  }
  #hom_about .col_wrap {
    max-height: 520px;
  }
  #hom_about .col_wrap .txt_col {
    flex-basis: 50%;
    margin-top: -105px;
    max-height: 670px;
  }
  #hom_about .col_wrap .txt_col .secttl {
    text-align: left;
  }
  #hom_about .col_wrap .txt_col .box {
    width: 50%;
    margin: 0 0 0 auto;
    padding-top: 50px;
    max-width: 600px;
  }
  #hom_about .col_wrap .txt_col .box .inner {
    margin-right: 90px;
  }
  #hom_about .col_wrap .txt_col .txtbox {
    margin-bottom: 60px;
  }
  #hom_about .col_wrap .txt_col .txtbox p + p {
    margin-top: 45px;
  }
  #hom_about .col_wrap .pic_col {
    flex-basis: 29.1%;
    max-width: 700px;
    margin-right: auto;
    background-image: url(../../images/index/pic_idx_01.png);
    margin-top: 110px;
  }
  #hom_about .col_wrap .pic_col .catch {
    font-size: 16rem;
    padding: 205px 0 60px 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1930px) {
  /*tab ------------------------------------------------------------------------------------*/
  #hom_about .col_wrap .txt_col .box {
    min-width: 600px;
  }
  #hom_about .col_wrap .pic_col {
    min-width: 700px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1420px) {
  /*tab ------------------------------------------------------------------------------------*/
  #hom_about .col_wrap {
    min-width: 1400px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  /*tab ------------------------------------------------------------------------------------*/
  #hom_about .col_wrap .txt_col .box {
    margin: 0;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*hom_about tab ------------------------------------------------------------------------------------*/
  #hom_about .col_wrap .txt_col .box {
    margin: 0 0 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  /*hom_about sp ------------------------------------------------------------------------------------*/
  #hom_about .col_wrap {
    padding: 9.72vw 0 11.11vw;
    margin: 0 6vw;
  }
  #hom_about .col_wrap .txt_col {
    flex-basis: 100%;
    margin-bottom: 11.11vw;
  }
  #hom_about .col_wrap .txt_col .secttl {}
  #hom_about .col_wrap .txt_col .box {}
  #hom_about .col_wrap .txt_col .box .inner {}
  #hom_about .col_wrap .txt_col .txtbox {
    margin-bottom: 11.11vw;
  }
  #hom_about .col_wrap .txt_col .txtbox p + p {
    margin-top: 8.33vw;
  }
  #hom_about .col_wrap .pic_col {
    flex-basis: 100%;
    background-image: url(../../images/index/pic_idx_01.png);
  }
  #hom_about .col_wrap .pic_col .catch {
    padding: 30.56vw 0 5.56vw 6vw;
    font-size: 22.22vw;
  }
}
/*
###################################################################################################################################

#hom_info

###################################################################################################################################
*/
/*hom_info ------------------------------------------------------------------------------------*/
#hom_info {
  background-color: #F3EAE7;
}
#hom_info .txtbox {
  width: 45%;
}
#hom_info .secttl {
  text-align: left;
}
#hom_info .info_list .meta {
  align-items: center;
}
#hom_about .info_list .ttl > a, #hom_info .info_list .cat > li > a {
  text-decoration: none;
}
#hom_about .info_list .ttl > a {
  color: #2F2F2F;
}
#hom_about .info_list .cat > li > a {
  color: #ffffff;
  display: block;
  line-height: 1.1;
}
#hom_about .info_list .cat > li.green > a {
  background-color: #76CCB7;
}
@media screen and (min-width:768px), print {
  /*hom_info pc ------------------------------------------------------------------------------------*/
  #hom_about {
    padding: 50px 0 0px 0;
  }
  #hom_about .info_list .meta dt {
    margin-right: 5px;
  }
  #hom_about .info_list .cat > li > a {
    padding: 4px 10px 6px;
    font-size: 1.2rem;
  }
  #hom_about .info_list > li + li {
    margin-top: 40px;
  }
  #hom_info {
    padding: 50px 0 65px 0;
  }
  #hom_info .info_list .meta dt {
    margin-right: 5px;
  }
  #hom_info .info_list .cat > li > a {
    padding: 4px 10px 6px;
    font-size: 1.2rem;
  }
  #hom_info .info_list > li + li {
    margin-top: 40px;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*hom_info tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*hom_info sp ------------------------------------------------------------------------------------*/
  #hom_about {
    padding: 7.64vw 0;
  }
  #hom_about .info_list .meta {
    margin-bottom: 2.78vw;
  }
  #hom_about .info_list .meta dt {
    margin-right: 2vw;
    font-size: 3vw;
  }
  #hom_about .info_list .cat > li > a {
    padding: 1vw 2vw 1.6vw;
    font-size: 2.78vw;
  }
  #hom_about .info_list > li + li {
    margin-top: 7.64vw;
  }
  #hom_info {
    padding: 7.64vw 0;
  }
  #hom_info .txtbox {
    width: auto;
    padding-bottom: 20px;
  }
  #hom_info .info_list .meta {
    margin-bottom: 2.78vw;
  }
  #hom_info .info_list .meta dt {
    margin-right: 2vw;
    font-size: 3vw;
  }
  #hom_info .info_list .cat > li > a {
    padding: 1vw 2vw 1.6vw;
    font-size: 2.78vw;
  }
  #hom_info .info_list > li + li {
    margin-top: 7.64vw;
  }
}
/*
###################################################################################################################################

#hom_news

###################################################################################################################################
*/
/*hom_news ------------------------------------------------------------------------------------*/
#hom_news {}
#hom_news .news_list .meta {
  align-items: center;
}
#hom_news .news_list .ttl > a, #hom_news .news_list .cat > li > a {
  text-decoration: none;
}
#hom_news .news_list .ttl > a {
  color: #2F2F2F;
}
#hom_news .news_list .cat > li > a {
  color: #ffffff;
  display: block;
  line-height: 1.1;
}
#hom_news .news_list .cat > li.yellow > a {
  background-color: #f49937;
}
#hom_news .news_list .cat > li.pink > a {
  background-color: #fa5789;
}
#hom_news .news_list .cat > li.purple > a {
  background-color: #b55df3;
}
#hom_news .news_list .cat > li.gray > a {
  background-color: #9e9e9e;
}
#hom_news .news_list .cat > li.green > a {
  background-color: #76ccb7;
}
#hom_news .news_list .cat > li.blue > a {
  background-color: #1ba1e6;
}
@media screen and (min-width:768px), print {
  /*hom_news pc ------------------------------------------------------------------------------------*/
  #hom_news {
    padding: 105px 0 60px;
  }
  #hom_news .secttl {
    margin-bottom: 70px;
  }
  #hom_news .news_list {
    margin: 0 -0.85% 60px;
  }
  #hom_news .news_list > li {
    flex-basis: 31.6%;
    margin: 0 0.85%;
  }
  #hom_news .news_list > li .pic {
    margin-bottom: 15px;
  }
  #hom_news .news_list .meta {
    margin-bottom: 25px;
  }
  #hom_news .news_list .meta dt {
    margin-right: 5px;
  }
  #hom_news .news_list .cat > li > a {
    padding: 4px 10px 6px;
    font-size: 1.2rem;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*hom_news tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*hom_news sp ------------------------------------------------------------------------------------*/
  #hom_news {
    padding: 8.33vw 0 12.5vw;
  }
  #hom_news .secttl {
    margin-bottom: 5.56vw;
  }
  #hom_news .news_list {}
  #hom_news .news_list > li {
    flex-basis: 100%;
    margin-bottom: 9vw;
  }
  #hom_news .news_list > li .pic {
    margin-bottom: 2.78vw;
  }
  #hom_news .news_list .meta {
    margin-bottom: 2vw;
  }
  #hom_news .news_list .meta dt {
    margin-right: 2vw;
  }
  #hom_news .news_list .cat > li > a {
    padding: 1vw 2vw 1.6vw;
    font-size: 2.78vw;
  }
}
/*
###################################################################################################################################

#hom_contents

###################################################################################################################################
*/
/*hom_contents ------------------------------------------------------------------------------------*/
#hom_contents {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
#hom_contents .list > li {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
#hom_contents .list > li > a {
  text-decoration: none;
  color: #FFFFFF;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.25);
}
#hom_contents .list > li.no1 {
  background-image: url(../../images/index/pic_idx_05.png);
}
#hom_contents .list > li.no2 {
  background-image: url(../../images/index/pic_idx_06.png);
}
#hom_contents .list > li.no3 {
  background-image: url(../../images/index/pic_idx_07.png);
}
@media screen and (min-width:768px), print {
  /*hom_contents pc ------------------------------------------------------------------------------------*/
  #hom_contents {
    padding: 65px 0 115px;
    background-image: url(../../images/index/bg_idx_01.png);
  }
  #hom_contents .list > li {
    flex-basis: 33.333%;
  }
  #hom_contents .list > li > a {
    height: 260px;
    font-size: 1.8rem;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*hom_contents tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*hom_contents sp ------------------------------------------------------------------------------------*/
  #hom_contents {
    padding: 8.33vw 0 12.5vw;
    background-image: url(../../images/index/bg_idx_01_sp.png);
  }
  #hom_contents .list > li {
    flex-basis: 100%;
  }
  #hom_contents .list > li > a {
    height: 56.67vw;
    font-size: 3.89vw;
  }
}
/*
###################################################################################################################################

#hom_site

###################################################################################################################################
*/
/*hom_site ------------------------------------------------------------------------------------*/
#hom_site {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
#hom_site .secttl, #hom_site .lead {
  color: #FFFFFF;
}
#hom_site .banner_list {
  justify-content: center;
}
#hom_site .banner_list > li {
  background-color: #FFFFFF;
}
#hom_site .banner_list > li > a {
  text-decoration: none;
  color: #353535;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width:768px), print {
  /*hom_site pc ------------------------------------------------------------------------------------*/
  #hom_site {
    padding: 145px 0 165px;
    background-image: url(../../images/index/bg_idx_02.png);
  }
  #hom_site .container {
    max-width: 1000px;
  }
  #hom_site .lead {
    text-align: center;
    margin-bottom: 70px;
  }
  #hom_site .banner_list {}
  #hom_site .banner_list > li {
    flex-basis: 30%;
    border-radius: 37px;
    margin-left: 45px;
  }
  #hom_site .banner_list > li:nth-of-type(1) {
    margin-left: 0px;
  }
  #hom_site .banner_list > li > a {
    height: 74px;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*hom_site tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*hom_site sp ------------------------------------------------------------------------------------*/
  #hom_site {
    padding: 7.64vw 0 6.25vw;
    background-image: url(../../images/index/bg_idx_02_sp.png);
  }
  #hom_site .container {}
  #hom_site .lead {
    margin-bottom: 8.33vw;
  }
  #hom_site .banner_list {}
  #hom_site .banner_list > li {
    flex-basis: 55.56vw;
    margin: 0 auto;
    border-radius: 13.89vw;
  }
  #hom_site .banner_list > li + li {
    margin-top: 4.17vw;
  }
  #hom_site .banner_list > li.no1 img {
    width: 35.69vw;
    height: 10.28vw;
  }
  #hom_site .banner_list > li.no2 img {
    width: 37.36vw;
    height: 9.58vw;
  }
  #hom_site .banner_list > li img {
    width: auto;
  }
  #hom_site .banner_list > li > a {
    height: 13.89vw;
    font-size: 2.78vw;
  }
}