/* 新しく追加したCSS */
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&display=swap');

html{
  scroll-behavior: smooth;
  font-size: 62.5%;
}
body{
  font-family:'Noto Sans JP',"Helvetica Neue", "Helvetica", "Noto Sans Japanese","メイリオ",Meiryo,"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN",sans-serif;
  color: #222;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}
p{font-size: 1.6rem;}
.pc_case{display: block;}
.sp_case{display: none;}

a,
a:hover,
a:hover img {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}
a:hover img{opacity: 0.7;}

.wrapper{
  box-sizing: border-box;
  max-width: 750px;
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
}

.containerbox{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
}
.item02{width: 47%;}
.item03{width: 31.333%;}
.item04{width: 25%;}

img{
  display: block;
  width: 100%;
}
.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mt30{margin-top: 30px;}

@media screen and (max-width: 768px){
  .item02,.item03{width: 100%;}
  .pc_case{display: none;}
  .sp_case{display: block;}
  .side_line,
  .side_line02{
    border-left: none;
    border-right: none;
  }
}

/* ヘッダー */
header{
  margin: 30px auto 10px!important;
}
.head_logo{
  display: block;
  width: 240px;
}
.head_happinessmall{
  display: block;
  width: 220px;
  height: auto;
  float: right;
}

/* メインイメージ */
#main_img .wrapper{
  position: relative;
  padding: 30px 4% 60px;
}
.main_imgsize{
  margin:  0 auto 80px;
}


@media screen and (max-width: 768px){
  header{
    margin: 50px auto 10px!important;
  }
  .head_logo{
    margin: 0 auto;
  }
  .head_happinessmall{
    float: none;
    margin: 10px auto 0;
  }
}

/* footer */
footer{
  text-align: center;
  padding: 80px 0 40px;
}
footer p{
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.logo_aeon{
  max-width: 240px;
  width: 70%;
  margin: 0 auto 10px;
}
a:link.btn_aeon,
a:visited.btn_aeon{
  box-sizing: border-box;
  display: block;
  background: #666;
  border-radius: 30px;
  color: #fff;
  font-size: 1.4rem;
  max-width: 400px;
  width: 100%;
  text-align: center;
  line-height: 36px;
  padding:0 20px;
  margin: 0 auto 10px;
}
a:hover.btn_aeon{
  background: #aaa;
}
#page_top{
  position: fixed;
  right: 0;
  bottom: -80px;
  display: block;
  width: 60px;
  height: 60px;
}
#page_top:hover{opacity: 0.95;}

@media screen and (max-width: 768px){
  .logo_aeon{
    max-width: initial;
    width: 70%;
  }

}

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}