@charset "UTF-8";

/* CSS Document */
/*------------------------------------------------------------
top
------------------------------------------------------------*/
.top main {
 padding-bottom: 0;
}

.top .photo_cover img {
 width: auto;
 height: 100%;
 max-width: unset;
 -o-object-fit: cover;
 object-fit: cover;
 position: absolute;
 right: 0;
}

.top01 {
 position: relative;
 overflow: hidden;
}

.top01 .bx-wrapper {
 background: transparent !important;
}

.top01 .bx-wrapper {
 -webkit-box-shadow: none;
 box-shadow: none;
 margin: 0;
 padding: 0;
 border: none;
}

.top01 .slider_box {
 position: relative;
 z-index: 1;
 max-height: 508px;
 height: 100vh;
 text-align: right;
}

.top01 .slider_item {
 height: 510px;
}

.slider_box li {
 background: url(../img/index/main_img01.jpg) no-repeat center center;
 background-size: cover;
 position: relative;
}
.slider_box li:nth-child(2) {
 background: url(../img/index/main_img02.jpg) no-repeat center center;
}
.slider_box li:nth-child(3) {
 background: url(../img/index/main_img03.jpg) no-repeat center center;
}

.top01 .slider_ttl {
 text-align: center;
 font-size: 3.2rem;
 color: #fff;
}

.top01 .slider_box .slider_item {
 height: 100%;
}

.top01 .slider_box .slider_photo {
 display: inline-block;
 width: 100%;
 height: 100%;
 position: relative;
 overflow-x: hidden;
}

.top01 .slider_box .slider_photo img {
 width: 100%;
}

.top01 .slider_box .slider_text {
 position: absolute;
 width: 100%;
 top: 50%;
 left: 50%;
 line-height: 1.5;
 letter-spacing: 0.08em;
 transform: translate(-50%, -50%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.top01 .slider_box .slider_text img {
 max-height: 100%;
}

.top01 .slider_box .slider_text .inner {
 height: 100%;
}

.slider_ttl {
 font-size: 3.2rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 text-align: center;
}

.ggmap {
 position: relative;
 padding-bottom: 56.25%;
 padding-top: 30px;
 height: 0;
 overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

.top_mes {
 display: flex;

}

@media screen and (max-width: 960px) {}


@media screen and (max-width: 640px) {
 .slider_box li {
  background: url(../img/index/main_img01sp.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
 }
}



@media screen and (max-width: 640px) {

 .top01 .slider_box {
  height: 253.5px;
 }

 .top01 .slider_box .slider_text .slider_ttl {
  padding: 0 0 20px;
  line-height: 1.5;
  font-size: 2.0rem;
 }
}

@media screen and (max-width: 430px) {

 .top01 .slider_box .slider_text .slider_ttl {
  font-size: 1.4rem;
 }
}


.top02 {
 position: relative;
 overflow: hidden;
 padding: 80px 0;
}

.top02 .txtbox {
 max-width: 670px;
 width: 64.4%;
 padding-right: 30px;
}

.top02 .txtbox .en {}

.top02 .txtbox .tit {
 font-size: 3.2rem;
 font-weight: 500;
 padding-bottom: 15px;
 letter-spacing: 0.04em;
}

.top02 .txtbox .txt {
 font-size: 1.6rem;
 line-height: 2.2;
}

.top02 .txtbox .btn_list01 {
 padding-top: 30px;
}

.top02 .imgbox {
 max-width: 340px;
 width: 32.7%;
}


@media screen and (max-width : 1400px) {

 .top02 .information_item .list_days {
  padding-left: 20px;
 }

 .top02 .information_item .newnews {
  margin-left: 0;
 }

 .top02 .information_item p a {
  vertical-align: middle;
 }

 .top02 .information_item a .news_more {
  right: -100px;
  top: 50%;
  transform: translateY(-50%);
 }

}

@media screen and (max-width : 640px) {
 .top02 .flex {
  display: block;
 }

 .top02 .txtbox {
  max-width: 970px;
  width: 100%;
  padding-bottom: 40px;
 }

 .top02 .imgbox {
  max-width: 970px;
  width: 60%;
  margin: 0 auto;
 }

 .top02 .txtbox {
  padding-right: 0px;
 }

 .top02 .txtbox .txt {
  font-size: 2.4rem;

 }

 .top02 {
  padding: 50px 0;
 }

 .top02 .txtbox {
  padding-bottom: 0px;
 }


 .top02 .txtbox .tit {
  padding-bottom: 10px;
  padding-top: 10px;
 }


 .top02 .txtbox .btn_list01 {
  padding-top: 40px;
  padding-bottom: 60px;
 }
}


@media screen and (max-width : 640px) {

 .top02 .txtbox .tit {
  font-size: 2.4rem; }

 .top02 .txtbox .txt {
  font-size: 1.6rem; } }



.top03 {
 padding: 50px 0;
 position: relative;
 overflow: hidden;
 background: url(../img/index/bg01.jpg) no-repeat center center;
 background-size: cover;
}

.top03 .inner {
 position: relative;
 z-index: 1; }

.top03 .tri_link {
 display: flex;
 justify-content: space-between; }

.top03 .tri_link .linkbox {
 max-width: 320px;
 width: 32%; }

.top03 .tri_link .linkbox .link_img {
 text-align: center; }

.top03 .tri_link .linkbox .link_img img {
 max-width: 68.8%; }

.top03 .tri_link .linkbox .link_tit {
 font-size: 2.4rem;
 font-weight: bold;
 text-align: center;
 line-height: 2;
 padding-bottom: 20px;
 padding-top: 20px; }
.top03 .tri_link .linkbox .link_tit span{
  display: inline-block; }

.top03 .btn_style02 a {
 text-decoration: none;
 font-size: 16px;
 padding: 3px 22px 4px;
 border: 1px solid #ff8172;
 color: #fff;
 border-radius: 100px;
 background: #fff;
 width: 140px;
 height: 35px;
 margin: 0 auto; }

.top03 .btn_style02 a>span {
 color: #fff;
 font-size: 1.6rem;
 font-family: 'Oswald'; }

.top03 .btn_style02 a:before {
 font-size: 16px;
 border-radius: 100px;
 border: 1px solid #ff8172;
 background: #ff8172; }

@media screen and (max-width: 960px) {

.top03 .tri_link .linkbox .link_tit {
 font-size: 1.8rem;
 padding-bottom: 15px;
 padding-top: 15px;
 line-height: 1.2; }
 .top03 .btn_style02 a {
 text-decoration: none;
 font-size: 16px;
 padding: 3px 22px 4px;
 border: 1px solid #ff8172;
 color: #fff;
 border-radius: 100px;
 background: #fff;
 width: 140px;
 height: 35px;
 margin: 0 auto; } }

@media screen and (min-width: 768px) {
 .top03 .btn_style02 a:hover>.en {
  color: #ff8172; } }

@media screen and (max-width : 640px) {
 .top03 {
  padding: 10px 0 0 0;
  background: none; }
 .top03 .tri_link {
  display: block; }

 .top03 .tri_link .linkbox {
  max-width: 100%;
  width: 100%;
  padding-bottom: 25px; }


 .top03 .btn_style02 a>.en {
  font-size: 1.2rem;
  letter-spacing: 1;
  font-weight: 400; }

 .top03 .tri_link .linkbox .link_tit {
  font-size: 2.4rem; }

 .top03 .tri_link .linkbox .link_txt {
  font-size: 1.6rem; }

 .top03 .btn_style02 a {
  width: 140px;
  height: 35px;
  margin-top: 0;
  padding: 3px 22px 4px; } }


.top04 {
 padding: 80px 0 0;
 position: relative;
 overflow: hidden; }

.top04 .tit {
 padding: 60px 0 50px;
 background: url(../img/index/icon01.jpg) no-repeat center top 10px / 45px 50px;
 font-size: 3.2rem;
 font-weight: 500;
 text-align: center;
 line-height: 1.5; }

.top04 .tit .en,
.top05 .tit .en {
 display: block;
 padding-top: 10px; }

.top04 .info_list {
 border-top: 1px solid #ccc;
 padding-bottom: 60px; }

.top04 .info_list .info_item {
 border-bottom: 1px solid #ccc;
 padding: 30px 0;
 display: flex; }

.top04 .info_list .info_imgbox {
 max-width: 180px;
 width: 17.5%; }

.top04 .info_list .info_txtbox {
 max-width: 820px;
 width: 78.5%;
 padding-left: 40px; }

.top04 .btn_list .btn_style {
 max-width: 250px; }



/************* sub_contents04 はここから *******************************/

/*画面サイズが1000px以下に適用*/
@media screen and (max-width : 1000px) {}


/*画面サイズが767px以下に適用*/
@media screen and (max-width : 640px) {

 .top04 {
  padding: 0 0 25px; }

 .top04 .tit {
  padding: 40px 0 25px;
  background: url(../img/index/icon01.jpg) no-repeat center top 10px / 30px 32.5px;
  font-size: 2.4rem; }

 .top04 .info_list {
  border-top: none; 
  padding-bottom: 25px;}

 .top04 .info_list .info_item {
  display: block;
  padding: 25px 0 0 0; }

 .top04 .info_list .info_item:nth-child(1) {
  padding-top: 0; }

 .top04 .info_list .info_imgbox {
  max-width: 680px;
  width: 100%;
  margin: 0 auto; }

 .top04 .info_list .info_txtbox {
  width: 100%;
  padding-left: 0px;
  font-size: 1.6rem;
  padding-top: 15px;
  padding-bottom: 25px; }

 .info_list .info_txtbox .info_date {
  padding-bottom: 10px; }

 .top04 .tit .en,
 .top05 .tit .en {
  padding: 10px 0 10px; }
}



/************* sub_contents04 はここまで *******************************/


.top05 {
 padding: 80px 0 0;
 overflow: hidden;
}

.top05 .tit {
 padding: 70px 0 60px;
 background: url(../img/index/icon02.jpg) no-repeat center top / 46px 68px;
 font-size: 3.2rem;
 text-align: center; }

.top05 .map {
 padding-bottom: 50px;
}

.top05 .map_txt {
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 2;
 padding-top: 50px;
}

/*画面サイズが767px以下に適用*/
@media screen and (max-width : 960px) {
 .top05 {
  padding: 25px 0 50px; }

 .top05 .tit {
  padding: 70px 0 35px; }

 .top05 .map_txt {
  font-size: 1.4rem;
  padding-top: 35px; } }

@media screen and (max-width : 640px) {
 .top05 {
  padding: 0 0 25px; }

 .top05 .tit {
  padding: 45px 0 30px;
  background: url(../img/index/icon02.jpg) no-repeat center top / 30px 45px;
  font-size: 2.4rem; }

 .top05 .map_txt {
  font-size: 1.6rem;
  padding-top: 25px; } }


/************* sub_contents04 はここまで *******************************/

.top06 {
 padding: 80px 0;
 overflow: hidden;
}

.top06 .outlink {
 display: flex;
 justify-content: space-around;
}

.top06 .link_item {
 max-width: 310px;
 width: 30%;
}

.top06 .link_item a {
 display: block;
 border: 1px solid #ccc;
 text-align: center;
 line-height: 70px;
}

.top06 .link_item a>img {
 max-height: 70px;
}

.top06 .link_item:nth-last-child(1) a>img {
 max-height: 40px;
 vertical-align: middle;
}

@media screen and (max-width: 960px) {
 .top06 {
  padding: 25px 0 35px; }

 .top06 .outlink {
  display: block;
 }

 .top06 .link_item {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 30px;
 }

 .top06 .link_item a {
  line-height: 126px;
 }

 .top06 .link_item a>img {
  max-height: 100px;
  vertical-align: middle;
 }

 .top06 .link_item:nth-last-child(1) a>img {
  max-height: 70px;
  line-height: 100px;
 }
}

@media screen and (max-width: 640px) {
 .top06 {
  padding: 0 0 25px;
 }

 .top06 .outlink {
  display: block;
 }

 .top06 .link_item {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 15px;
 }

 .top06 .link_item a {
  line-height: 70px;
 }

 .top06 .link_item a>img {
  max-height: 75px;
  vertical-align: middle;
 }

 .top06 .link_item:nth-child(1) a>img {
  max-height: 60px;
  line-height: 70px;
 }

 .top06 .link_item:nth-child(2) a>img {
  max-height: 60px;
  line-height: 70px;
 }

 .top06 .link_item:nth-last-child(1) a>img {
  max-height: 45px;
  line-height: 70px;
 }
}