@charset "UTF-8";
/* CSS Document */
/* 共通Mixins
----------------------------*/
/* ----------------------------
  common
------------------------------*/
#contents {
  max-width: 1920px;
  margin: 0 auto;
  background: #F8F2DF;
}

#contInner {
  width: 100%;
  margin-left: 0;
}

#main {
  margin: 0;
  padding: 0;
}

#gNav,
#sideBnr,
footer .container,
footer .inner .footerPageLi {
  display: none;
}

header {
  border-bottom: none;
}

header #language {
  display: none;
}

.pc_appear {
  display: block;
}

.sp_appear {
  display: none;
}

/* ----------------------------
  content
------------------------------*/
/* --------------------
 共通
----------------------*/
.happiness {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'MS PGothic', sans-serif;
}

.happiness *,
.happiness *:before,
.happiness *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.happiness_title {
  width: 43.875%;
  margin: -2.875% auto 0;
}

.happiness_title_underlayer {
  width: 33.875%;
  margin: -2.875% auto 0;
}

.happiness_title_lead {
  width: 44.875%;
  margin: -0.05% auto 0;
}

.happiness_contents {
  padding: 1.625% 0 8.125% 0;
}

.section_inner {
  max-width: 1160px;
  margin: 0 auto;
}
#community .intro .section_inner{
  padding-bottom: 6%;
  border-bottom: 5px dotted #718aa7;
}
#opportunity .intro .section_inner{
  padding-bottom: 6%;
  border-bottom: 5px dotted #c49a07;
}

#breadcrumb{
  max-width: 1160px;
  margin:0 auto;
}

.event .section_inner {
  max-width: 1160px;
  margin: 0 auto;
  box-sizing: border-box;
}

.page_top_nav{
  position: fixed;
  right: 7px;
  bottom: 41px;
  z-index: 3;
  display: none;
}
#pagetop a img{
  display: none!important;
}

/* mainvisual
------------------------*/
.mainvisual {
  width: 100%;
  height: 0;
  padding-top: 31.25%;
  background: url(../img/bg-mainvisual.jpg) no-repeat center top;
  background-size: contain;
  position: relative;
}

.mainvisual_underlayer {
  width: 100%;
  height: 0;
  padding-top: 18.75%;
  background: url(../img/bg-mainvisual_underlayer.jpg) no-repeat center top;
  background-size: contain;
  position: relative;
}

.mainvisual_inner {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
}

/* nav
------------------------*/
.nav {
  padding: 3.125% 0;
  background: #f8f2df;
}

.nav .pagenav {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.nav .pagenav_item {
  width: 16.65%;
  box-sizing: border-box;
  display: flex;
  /* margin-left: 3.4%; */
}

.nav .pagenav_item:before {
  content: '';
  display: block;
  width: 4px;
  height: 100%;
  max-height: 81px;
  margin: 0 0 0 auto;
  /* background: #D8005C; */
  background: url(../img/ico-dotted.png) repeat-y center top;
}

.nav .pagenav_item:last-child:after {
  content: '';
  display: block;
  width: 4px;
  height: 100%;
  max-height: 81px;
  margin: 0 0 0 auto;
  /* background: #D8005C; */
  background: url(../img/ico-dotted.png) repeat-y center top;
}
.nav .pagenav_item:first-child {
  /* margin-left: 0; */
}

/* scroll_fadein
--------------------------*/
.fade_in {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all .8s;
}

.fade_in.scroll_in {
  opacity: 1;
  transform: translate(0, 0);
}

.kv_fade_in {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all .8s;
}

.kv_fade_in.kv_scroll_in {
  opacity: 1;
  transform: translate(0, 0);
}

/* intro
-------------------------*/
.intro {
  width: 100%;
  margin: 0;
  padding: 0;
}

.intro_txt {
  text-align: center;
  line-height: 1.8;
  margin-top: 1em;
  font-size: 17px;
  font-size: 1rem;
}

.health .intro_txt {
  color: #025708;
}

.intro_txt:nth-of-type(1) {
  margin-top: 0;
}

.intro_txt_block {
  width: calc(100% - 60px);
  margin: 0 auto 3%;
}

/* btn
-------------------------*/
.btn {
  width: 100%;
  margin: 15.4% auto 0;
}

.btn:first-child {
  margin-top: 0;
}

.btn_wrap {
  max-width: 650px;
  margin: 6.25% auto 0;
}

.btn_anchor {
  display: inline-block;
  transition: 0.3s cubic-bezier(0.13, 0.78, 0.38, 0.98);
}

.btn_anchor:hover {
  opacity: 0.7;
}

/* -----------------------------------
  Health
-------------------------------------*/
.health {
  background: url(../img/bg-health.jpg) repeat-y center top;
  background-size: cover;
}

.health_title {
  width: 57.24%;
  margin: 0 auto;
}

.health .wrap_even .event_box::before {
  content: '';
  display: block;
  width: 11.55%;
  height: 0;
  padding-top: 12.58%;
  background: url(../img/ico-ornament_health_1.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: -34px;
  right: -4.1%;
  z-index: 2;
}

.health .wrap_odd .event_box::before {
  content: '';
  display: block;
  width: 10.4%;
  height: 0;
  padding-top: 11.63%;
  background: url(../img/ico-ornament_health_2.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: -20px;
  right: -3%;
  z-index: 2;
}

/* recommend
-------------------------------*/
.recommend {
  width: 100%;
  margin-top: 7.125%;
  padding: 8.4% 0;
  background: url(../img/bg-recommend.png) repeat-y center top;
  background-size: cover;
  position: relative;
}

.recommend::before {
  content: '';
  width: 100%;
  height: 0;
  padding-top: 11.8%;
  background: url(../img/bg-recommend_ornament_upper.png) no-repeat center top;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}

.recommend::after {
  content: '';
  width: 100%;
  height: 0;
  padding-top: 8.75%;
  background: url(../img/bg-recommend_ornament_lower.png) no-repeat center bottom;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
}

.recommend_inner {
  position: relative;
  z-index: 2;
}

.recommend_inner .swiper_nav {
  width: 100%;
  position: absolute;
  bottom: 0;
}

.recommend_inner .swiper_nav_inner {
  width: 100%;
  height: 0;
  padding-top: 10.25%;
  position: relative;
}

.recommend .slide_contents {
  width: 100%;
  max-height: 602px;
  height: 0;
  padding-top: 51.9%;
  background: url(../img/bg-slide_contents.png) no-repeat center center;
  background-size: contain;
}

.recommend .shop {
  width: 100%;
  height: 100%;
  padding: 6.55% 6.9%;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
}

.recommend .shop_pics {
  width: 45%;
}

.recommend .shop_contents {
  width: 50%;
  height: 100%;
  text-align: left;
  position: relative;
}

.recommend .shop_contents_inner {
  width: 100%;
  height: 78%;
  max-height: 354px;
  overflow: hidden;
  position: relative;
}

.recommend .shop_outline {
  width: 100%;
  height: 67.3%;
  max-height: 238px;
  overflow-y: auto;
}

.recommend .shop_outline_title {
  font-size: 23px;
  font-size: 1.4375rem;
  font-weight: 700;
}

.recommend .shop_outline_txt {
  margin-top: 6%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.6;
}

.recommend .shop_info {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  bottom: 0;
}

.recommend .shop_info_logo {
  width: 20%;
  max-width: 100px;
}

.recommend .shop_info_txt {
  width: 80%;
  padding-left: 3%;
  line-height: 1.8;
  font-size: 14px;
  font-size: 0.875rem;
}

.recommend .shop_btn {
  width: 100%;
  position: absolute;
  bottom: 0;
}

.recommend .shop_btn_anchor {
  margin-top: 8%;
  display: inline-block;
  width: 100%;
  padding: 3.4% 0;
  background: #fd5151;
  transition: 0.3s cubic-bezier(0.13, 0.78, 0.38, 0.98);
}

.recommend .shop_btn_anchor_image {
  width: 59.7%;
  margin: 0 auto;
  line-height: 1;
}

.recommend .shop_btn_anchor:hover {
  opacity: 0.7;
}

/* -----------------------------------
  TOP title page
-------------------------------------*/

/*btn_nav
-------------------------------------*/

.btn_nav{
  /* background: #fff; */
  padding: 5% 0 2% 0;
  text-align: center;
}
.btn_nav ul{
  max-width: 1160px;
  width: 94%;
  margin: auto;
}
.btn_nav .first_nav li{
  float: left;
  width: 47.76%;
  margin-right: 4.48%;
  margin-bottom: 52px;
  text-align: center;
}
.btn_nav .first_nav li:nth-child(even){
  margin-right: 0;
}

.btn_nav .second_nav li{
  float: left;
  width: 23.3%;
  margin-right: 2.26666%;
  margin-bottom: 60px;
  text-align: center;
}
.btn_nav .second_nav li:nth-child(4n){
  margin-right: 0;
}

/* main_contents_nav
------------------------*/
.main_cont{
  /* background: #F8F2DF; */
}

.main_cont_area{
  max-width: 1450px;
  margin: 0 auto;
  background: url(../img/bg-balloon_and_flag.png) repeat-y center top,  #F8F2DF;
  background-size: contain;
}
