@charset "utf-8";
/*=====================================================
 * Last Up Date: 2023/09/14
=====================================================*/
/**----- contents -------
1:common
2:global
3:fsview
4:overview
5:point
7:scene

6:footer_vs
----------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho:wght@500;600;700&display=swap');
/*== 1:common ==================*/
h1, h2, h3, h4, p, ul, li, dl, dt, dd{
 margin: 0;
 padding: 0;
}
#meijitokachi #main #camemblue{
 color: #000;
}
#meijitokachi #main #camemblue img {
 display: block;
 max-width: 100%;
 height: auto;
}
#meijitokachi #main #camemblue p{
 font-family: 'Noto Sans JP', sans-serif !important;
 font-size: 14px;
 line-height: 1.8;
 font-weight: 400;
}
#meijitokachi #main #camemblue a{
 color: inherit;
}
#meijitokachi #main #camemblue h2{
 font-family: 'Shippori Mincho', serif !important;
 color: #14126F;
 font-size: 32px;
 font-weight: 600;
}
.cont_inner {
 width: 1024px;
 margin: auto;
 box-sizing: border-box;
}
.fl{
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.txtr{
 text-align: right;
}
.txtc{
 text-align: center;
}
.sp {
 display: none !important;
}
.mt45{
 margin-top: 45px !important;
}
.mt50{
 margin-top: 50px !important;
}
.mt70{
 margin-top: 70px !important;
}
@media screen and (max-width: 640px) {
 #meijitokachi #main #camemblue img {
  width: 100% !important;
 }
 #meijitokachi #main #camemblue p {
  /*font-size: 13px;*/
  font-size: 3.5vw;
  line-height: 1.692;
 }
 #meijitokachi #main #camemblue h2{
  /*font-size: 24px;*/
  font-size: 6.4vw;
  line-height: 1.25;
 }
 .cont_inner {
  width: 92vw;
 }
 .pc {
  display: none !important;
 }
 .sp {
  display: block !important;
 }
 .mt45{
  margin-top: 6vw !important;
 }
 .mt50{
  margin-top: 6.667vw !important;
 }
 .mt70{
  margin-top: 9.333vw !important;
 }
}

/*--fade--*/
.fade_off {
 opacity: 0;
 transition: all 1s;
}
.fade_on {
 opacity: 1;
}
.fade::before, .fade::after{
 opacity: 0;
 transition: all 1s;
 transition-delay: 0.5s;
}
.fade_on::before, .fade_on::after{
 opacity: 1;
}
.slide::before{ 
 transition: all 1s;
}
.slide::after{ 
 transition: all 1s;
}
.slide_left::before{
 left: -45vw !important;
}
.slide_right::after{
 right: -45vw !important;
 transition-delay: 1s;
}
.slide_left.slide_act::before{ 
 left: -1vw !important;
}
.slide_right.slide_act::after{ 
 right: -1vw !important;
}
.slide.slide_r.slide_act{
 animation: slideIn01 1s ease 0s forwards;
}
.slide.slide_l.slide_act{
 animation: slideIn02 1s ease 0s forwards;
}
/*--Animation--*/
@keyframes slideIn01 {
 0% {
  opacity: 0;
  transform: translateX(20px);
 }
 100% {
  opacity: 1;
  transform: translateX(0);
 }
}
@keyframes slideIn02 {
 0% {
  opacity: 0;
  transform: translateX(-20px);
 }
 100% {
  opacity: 1;
  transform: translateX(0);
 }
}
/*--//Animation--*/
/*==============================*/
/*== 2:global ==================*/
.l-header {
 background: #fff;
}
.l-header img {
 z-index: 9000;
}
.l-main{
 margin-bottom: 0;
}
.m-nav-product-list img {
 display: inline;
}
.l-footer {
 line-height: 2.0;
}
/*==============================*/
/*== 3:fsview ==================*/
#fsview .fsview_bg{
 position: relative;
 background: url("../images/fsview_bg@2x.jpg") center center no-repeat;
 background-size: cover;
 opacity: 0;
 animation: fadeIn01 3s ease 0s forwards;
}
#fsview .breadcrumbs {
 position: absolute;
 top: 15px;
 left: 35px;
 animation: fadeIn01 3s ease 0s forwards;
}
#fsview .breadcrumbs ul {
 color: #ffffff;
 font-size: 14px;
}
#fsview .breadcrumbs ul li {
 display: inline;
}
#fsview .breadcrumbs ul li a{
 text-decoration: underline;
}
#fsview .breadcrumbs ul li a:hover{
 text-decoration: none;
}
#fsview .channel{
 position: absolute;
 top: 134px;
 left: 0;
 right: 0;
 width: 100%;
 max-width: 2000px;
 margin: 0 auto;
}
#fsview .channel > p{
 width: 180px;
 opacity: 0;
 animation: fadeIn01 1s ease 1.5s forwards;
}
#fsview .cont_inner{
 position: relative;
 display: flex;
 justify-content: space-between;
 height: 680px;
}
#fsview .cont_inner p.catch{
 width: 170px;
 margin-top: 115px;
 opacity: 0;
 animation: fadeIn01 1s ease 1.0s forwards;
}
#fsview .cont_inner h1{
 width: 311px;
 margin-top: 230px;
 opacity: 0;
 animation: fadeIn01 1s ease 1.0s forwards;
}
#fsview .cont_inner picture.product{
 width: 301px;
 margin-top: 305px;
 opacity: 0;
 animation: fadeIn01 1s ease 1.3s forwards;
}
@media screen and (max-width: 640px) { 
 #fsview .fsview_bg{
  background: url("../images/sp/fsview_bg.jpg") top center no-repeat;
  background-size: 100vw auto;
 }
 #fsview .breadcrumbs {
  display: none;
 }
 #fsview .channel{
  top: 2.933vw;
  width: 100vw;
  max-width: inherit;
 }
 #fsview .channel > p{
  width: 30.4vw;
 }
 #fsview .cont_inner{
  position: relative;
  display: block;
  height: 120vw;
 }
 #fsview .cont_inner p.catch{
  position: absolute;
  bottom:4.267vw;
  right:13.333vw; 
  width: 24.533vw;
  margin-top: 0;
 }
 #fsview .cont_inner h1{
  position: absolute;
  top:19.667vw;
  left: 0;
  right: 0;
  width: 57.97vw;
  margin: 0 auto;
 }
 #fsview .cont_inner picture.product{
  position: absolute;
  bottom:4.267vw;
  left:10.667vw; 
  width: 40.133vw;
  margin-top: 0;
 }
}
/*--Animation--*/
@keyframes fadeIn01 {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
/*--//Animation--*/
/*==============================*/
/*== 4:banner ==================*/
.banner{
 padding: 85px 0 0;
}
.banner_item{
 width: 600px;
 margin: 0 auto;
 transition: all 1s;
}
.banner_item:hover{
 opacity: 0.7;
}
@media screen and (max-width: 640px) {
 .banner{
  padding: 9.333vw 0 0;
 }
 .banner_item{
  width: 92vw;
 }
}
/*==============================*/
/*== 5:overview ================*/
#overview{
 min-height: 950px;
 padding: 125px 0 0;
 background: url("../images/overview_bg.png") top 125px center repeat-x;
 box-sizing: content-box;
}
#overview .overview_inner{
 position: relative;
 max-width: 1400px;
 margin: 0 auto;
}
#overview .overview_inner picture.img{
 position: absolute;
 top: 45px;
 width: 700px;
 opacity: 0;
}
#overview .overview_inner.overview_02 picture.img{
 top: 100px;
 right: 0;
}
#overview .overview_inner .cont_inner{
 position: inherit;
 z-index: 1;
 opacity: 0;
}
#overview .overview_inner.overview_01 .cont_inner{
 padding-top: 55px;
 padding-right: 12px;
 padding-left: 410px;
}
#overview .overview_inner.overview_02 .cont_inner{
 padding-top: 150px;
 padding-right: 416px;
 padding-left: 12px;
}
#overview .overview_inner.overview_01 .cont_inner .en_overview{
 position: absolute;
 top: -70px;
 right: 0;
 width: 526px;
 opacity: 0;
}
#overview .overview_inner .overview_txt{
 padding: 20px 30px 15px;
 margin-top: 17px;
 background: rgba(255,255,255,0.9);
 border-radius: 15px;
}
#overview .overview_inner .overview_txt p{
 margin-bottom: 15px;
}
#overview .overview_inner .overview_txt p:last-child{
 margin-bottom: 0;
}
#overview .overview_inner .overview_txt span{
 color: #14126F;
}
@media screen and (max-width: 640px) {
 #overview{
  min-height: inherit;
  padding: 12vw 0 0;
  background: none;
 }
 #overview .overview_inner{
  max-width: 100vw;
 }
 #overview .overview_inner{
  background: url("../images/sp/overview_bg.png") top center repeat;
  background-size: cover;
  box-sizing: content-box;
 }
 #overview .overview_inner picture.img{
  position: absolute;
  width: 96vw;
 }
 #overview .overview_inner.overview_02 picture.img{
  top: 10.4vw;
 }
 #overview .overview_inner.overview_01 picture{
  margin-top: 8vw;
 }
 #overview .overview_inner.overview_01 .cont_inner{
  padding-top: 64.333vw;
  padding-right: 0;
  padding-left: 0;
 }
 #overview .overview_inner.overview_02 .cont_inner{
  padding-top: 55.467vw;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 11.733vw;
 }
 #overview .overview_inner.overview_01 .cont_inner .en_overview{
  top: -6.933vw;
  width: 70.133vw;
 }
 #overview .overview_inner.overview_02 .cont_inner h2{
  padding-left: 4vw;
 }
 #overview .overview_inner.overview_02 .cont_inner h2 span{
  /*font-size: 18px;*/
  font-size: 5.6vw;
  letter-spacing:-0.1em;
  transform: scale(0.8, 1);
 }
 #overview .overview_inner .overview_txt{
  padding: 2.667vw 4vw 2vw;
  margin-top: 2.4vw;
 }
 #overview .overview_inner .overview_txt p{
  margin-bottom: 2vw;
 }
}
/*==============================*/
/*== 6:point ===============*/
#point{
 min-height: 1085px;
 padding: 160px 0 0;
 background: url("../images/point_bg.png") top 160px center repeat-x;
 box-sizing: content-box;
}
#point .point_inner{
 max-width: 1400px;
 margin: 0 auto;
}
#point .point_inner .cont_inner{
 position: relative;
}
#point .point_inner.point_01 .cont_inner{
 padding-top: 68px;
}
#point .point_inner.point_01 .cont_inner .en_point{
 position: absolute;
 top: -51px;
 left: 0;
 width: 262px;
 opacity: 0;
}
#point .point_inner .cont_inner .fl{
 align-items: flex-start;
 padding: 0 52px;
}
#point .point_inner.point_02 .cont_inner .fl{
 padding: 55px 0;
 flex-direction: row-reverse;
}
#point .point_inner.point_01 .cont_inner .fl .point_cont, #point .point_inner.point_03 .cont_inner .fl .point_cont{
 padding-right:25px;
}
#point .point_inner.point_02 .cont_inner .fl .point_cont{
 padding-left:25px;
}
#point .point_inner .cont_inner .fl .point_ttl{
 display: flex;
 align-items: center;
 margin-bottom: 30px;
}
#point .point_inner .cont_inner .fl .point_ttl p{
 width: 61px;
}
#point .point_inner .cont_inner .fl .point_ttl h2{
 display: block;
 width: 431px;
 margin-left: 17px;
}
#point .point_inner .cont_inner .fl picture.img{
 width: 380px;
}
#point h2 > span{
 display: block;
 font-size: 20px;
}
@media screen and (max-width: 640px) {
 #point {
  min-height: inherit;
  padding: 16.533vw 0 0;
  background: none;
 }
 #point .point_inner.point_01, #point .point_inner.point_02, #point .point_inner.point_03{
  background: url("../images/sp/point_bg.png") top center repeat-y;
  box-sizing: content-box;  
 }
 #point .point_inner {
  max-width: inherit;
 }
 #point .point_inner.point_01 .cont_inner {
  padding-top: 14vw;
 }
 #point .point_inner.point_03 .cont_inner {
  padding-bottom: 10.4vw;
 }
 #point .point_inner.point_01 .cont_inner .en_point {
  top: -8.667vw;
  left: -4vw;
  width: 37.733vw;
 }
 #point .point_inner .cont_inner .fl {
  flex-direction: column;
  width: 80vw;
  padding: 0;
  margin: 0 auto;
 }
 #point .point_inner.point_02 .cont_inner .fl {
  flex-direction: column;
  padding: 7.333vw 0;
 }
 #point .point_inner.point_01 .cont_inner .fl .point_cont, #point .point_inner.point_03 .cont_inner .fl .point_cont {
  padding-right: 0;
  order: 3;
 }
 #point .point_inner.point_02 .cont_inner .fl .point_cont {
  padding-left: 0;
  order: 3;
 }
 #point .point_inner .cont_inner .fl .point_ttl.sp {
  width: 100%;
  display: flex !important;
  align-items: center;
  margin-bottom: 30px;
  order: 1;
 }
 #point .point_inner .cont_inner .fl .point_ttl p {
  width: 9.6vw;
 }
 #point .point_inner .cont_inner .fl .point_ttl h2 {
  width: 75.867vw;
  /*font-size: 22px !important;*/
  font-size: 5.867vw !important;
  letter-spacing: -0.03em;
  margin-left: 2.933vw;
 }
 #point h2 > span {
  /*font-size: 14px;*/
  font-size: 3.733vw;
 }
 #point .point_inner .cont_inner .fl picture.img {
  width: 72vw;
  margin: 0 auto 5.333vw;
  order: 2;
 }
}
/*==============================*/
/*== 7:scene ===================*/
#scene{
 position: relative;
 padding: 52px 0 20px;
}
#scene::before{
 position: absolute;
 bottom: 0;
 content: "";
 width: 21%;
 height: 68%;
 background: #EFEFEF;
 z-index: -1;
}
#scene .cont_inner p{
 font-weight: 600 !important;
 text-align: center;
}
#scene .cont_inner .en_scene{
 width: 324px;
 margin: 0 0 32px auto;
 opacity: 0;
}
#scene .cont_inner .grid{
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 grid-template-rows: repeat(2, 1fr);
 grid-column-gap: 0px;
 grid-row-gap: 0px;
 margin: 40px auto;
}
#scene .cont_inner .grid .img_01 { grid-area: 1 / 1 / 3 / 2; }
#scene .cont_inner .grid .img_02 { grid-area: 1 / 2 / 2 / 3; }
#scene .cont_inner .grid .img_03 { grid-area: 2 / 2 / 3 / 3; }
@media screen and (max-width: 640px) {
 #scene{
  padding: 14vw 0 0;
 }
 #scene::before{
  bottom: 7.333vw;
  height: 56vw;
 }
 #scene .cont_inner p{
  font-size: 3.2vw !important;
 }
 #scene .cont_inner .en_scene{
  width: 43.2vw;
  margin: 0 0 7.333vw auto;
 }
 #scene .cont_inner .grid{
  margin: 5vw auto;
 }
}
/*==============================*/
/*== 8:thoughts ================*/
#thoughts{
 padding: 125px 0 0;
}
#thoughts .cont_inner{
 padding: 0 12px 42px;
 border-bottom: #14126F 2px solid;
}
#thoughts .cont_inner > p{
 font-weight: 600 !important;
 text-align: center;
 margin-bottom: 15px;
}
#thoughts .cont_inner .en_thoughts{
 width: 467px;
 margin: 0 auto 32px 0;
 opacity: 0;
}
@media screen and (max-width: 640px) {
 #thoughts{
  padding: 19.6vw 0 0;
 }
 #thoughts .cont_inner{
  padding: 0 0 9.733vw;
 }
 #thoughts .cont_inner > p{
  margin-bottom: 6vw;
 }
 #thoughts .cont_inner .en_thoughts{
  width: 62vw;
  margin: 0 auto 5.333vw 0;
 }
}
/*-- tab --------------------------*/
#thoughts .tab{
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 width: 90%;
 padding: 14px 20px 14px 30px;
 margin: 15px auto 0;
 background: #14126F;
 cursor: pointer;
 transition: all 1.0s;
 cursor: pointer;
}
#thoughts .tab:hover{
 opacity: 0.7;
}
#thoughts .tab .tab_ttl{
 width: 70%;
}
#thoughts .tab .tab_ttl h2{
 color: #fff !important;
 font-size: 36px !important;
 font-weight: 500 !important;
}
#thoughts .tab .tab_ttl h2 span{
 display: block;
 font-size: 20px;
}
#thoughts .tab .tab_ttl .name{
 font-family: 'Noto Sans JP', sans-serif !important;
 color: #fff;
 font-size: 18px;
 font-weight: 500;
 text-align: right;
 margin: 0 auto 0 0;
}
#thoughts .tab .tab_ttl .name span{
 display: block;
 font-size: 14px;
}
#thoughts .tab picture.img{
 width: 200px;
}
#thoughts .tab .btn_icon{
 position: relative;
 top: 0;
 bottom: 0;
 width: 20px;
 height: 20px;
 margin: auto 0;
}
#thoughts .tab .btn_icon::before, #thoughts .tab .btn_icon::after{
 content: '';
 display: inline-block;
 position: absolute;
 top: 0;
 bottom: 0;
 width: 20px;
 height: 4px;
 margin: auto 0;
 background-color: #fff;
}
#thoughts .tab .btn_icon::after{
 transform: rotate(90deg);
 visibility: inherit;
}
#thoughts .thoughts_item.act .tab .btn_icon::after{
 content: none;
}
@media screen and (max-width: 640px) {
 #thoughts .tab{
  position: relative;
  align-items: stretch;
  width: 100%;
  min-height: 32vw;
  padding: 1.867vw 2.667vw 1.867vw 4vw;
  margin-top: 2vw;
 }
 #thoughts .tab .tab_ttl{
  width: 63%;
  padding-top: 2.133vw;
 }
 #thoughts .tab .tab_ttl h2{
  /*font-size: 18px !important;*/
  font-size: 5.067vw !important;
 }
 #thoughts .tab .tab_ttl h2 span{
  /*font-size: 14px;*/
  font-size: 3.2vw;
  margin-top: 1vw;
 }
 #thoughts .tab .tab_ttl .name{
  position: absolute;
  bottom: 2vw;
  right: 6.5vw;
  /*font-size: 11px;*/
  font-size: 2.133vw;
 }
 #thoughts .tab .tab_ttl .name span{
  /*font-size: 10px;*/
  font-size: 1.6vw;
 }
 #thoughts .tab picture.img{
  width: 26.667vw;
 } 
 #thoughts .tab .btn_icon{
  position: relative;
  width: 2.667vw;
  height: 2.667vw;
  }
 #thoughts .tab .btn_icon::before, #thoughts .tab .btn_icon::after{
  width: 2.667vw;
  height: 0.533vw;
 }
}
/*-- thoughts_container --------------------------*/
#thoughts .thoughts_container{
 display: none;
 width: 90%;
 padding: 45px 45px 60px;
 margin: 0 auto;
 background: #F6F6F6;
}
#thoughts .thoughts_container .th_cont_vs{
 position: relative;
 margin-bottom: 50px;
}
#thoughts .thoughts_container .th_cont_ttl{
 position: absolute;
}
#thoughts .thoughts_container .th_cont_ttl .name{
 font-family: 'Noto Sans JP', sans-serif !important;
 color: #14126F;
 font-size: 18px;
 font-weight: 600;
 text-align: right;
 margin: 50px auto 0 0;
}
#thoughts .thoughts_container .th_cont_ttl .name span{
 display: block;
 font-size: 14px;
}
#meijitokachi #main #thoughts .thoughts_container h3{
 display: block;
 font-family: 'Shippori Mincho', serif !important;
 color: #14126F;
 font-size: 34px;
 font-weight: 700;
 text-align: center;
 margin: 0 auto 20px;
}
#meijitokachi #main #thoughts .thoughts_container h3:first-child{
 margin-top: 65px;
}
#thoughts .thoughts_container p span{
 color: #14126F;
 font-weight: 600;
 background: #FFDA00;
}
#thoughts .thoughts_container picture.img img{
 display: block;
 margin: 0 auto;
}
@media screen and (max-width: 640px) {
 #thoughts .thoughts_container{
  width: 100%;
  padding: 6vw 4vw 6.667vw;
 }
 #thoughts .thoughts_container .th_cont_vs{
  margin-bottom: 3.6vw;
 }
 #thoughts .thoughts_container .th_cont_ttl .name{
  /*font-size: 11px;*/
  font-size: 1.89vw;
  margin: 2.4vw auto 0 0;
 }
 #thoughts .thoughts_container .th_cont_ttl .name span{
  /*font-size: 14px;*/
  font-size: 1.47vw;
 }
 #meijitokachi #main #thoughts .thoughts_container h3{
  /*font-size: 27px;*/
  font-size: 4.533vw;
  margin: 0 auto 2.8vw;
 }
 #meijitokachi #main #thoughts .thoughts_container h3:first-child{
  margin-top: 8.8vw;
 }
}
/*-- thoughts_01 --------------------------------*/
#thoughts .thoughts_01 .th_cont_ttl{
 /*top: 95px;*/
 bottom: 46px;
 left: 395px;
}
#thoughts .thoughts_01 .th_cont_ttl h2{
 width: 366px;
}
#thoughts .thoughts_01 p{
 margin-bottom: 40px;
}
#thoughts .thoughts_01 p.mb{
 margin-bottom: 0;
}
@media screen and (max-width: 640px) {
 #thoughts .thoughts_01 .th_cont_ttl{
  top: 9.067vw;
  bottom: 0;
  left: 41.733vw;
 }
 #thoughts .thoughts_01 .th_cont_ttl h2{
  width: 40.267vw;
 }
 #thoughts .thoughts_01 p{
  margin-bottom: 9.3vw;
 }
}
/*-- thoughts_02 --------------------------------*/
#thoughts .thoughts_02 .th_cont_ttl{
 /*top: 80px;*/
 bottom: 46px;
 left: 20px;
}
#thoughts .thoughts_02 .th_cont_ttl h2{
 width: 388px;
}
#thoughts .thoughts_02 .th_cont_ttl .name{
 color: #fff;
}
#thoughts .thoughts_02 p{
 margin-bottom: 40px;
}
#thoughts .thoughts_02 .link{
 margin-top: 35px; 
}
#thoughts .thoughts_02 .link a{
 font-weight: 600;
 text-decoration: underline;
}
#thoughts .thoughts_02 .link a:hover{
 text-decoration: none;
}
#thoughts .thoughts_02 .notes{
 margin-bottom: 0;
}
@media screen and (max-width: 640px) {
 #thoughts .thoughts_02 .th_cont_ttl{
  top: 9.2vw;
  bottom: 0;
  left: 2vw;
 }
 #thoughts .thoughts_02 .th_cont_ttl h2{
  width: 41.067vw;
 }
 #thoughts .thoughts_02 p{
  margin-bottom: 9.3vw;
 }
 #thoughts .thoughts_02 .link{
  margin-top: 3vw; 
 }
}
/*-- thoughts_03 --------------------------------*/
#thoughts .thoughts_03 .th_cont_ttl{
 /*top: 117px;*/
 bottom: 46px;
 left: 15px;
}
#thoughts .thoughts_03 .th_cont_ttl h2{
 width: 446px;
}
#thoughts .thoughts_03 p{
 margin-bottom: 40px;
}
#thoughts .thoughts_03 p.mb{
 margin-bottom: 0;
}
@media screen and (max-width: 640px) {
 #thoughts .thoughts_03 .th_cont_ttl{
  top: 11.6vw;
  bottom: 0;
  left: 2.4vw;
 }
 #thoughts .thoughts_03 .th_cont_ttl h2{
  width: 47.067vw;
 }
 #thoughts .thoughts_03 p{
  margin-bottom: 9.3vw;
 }
}
/*==============================*/
/*== 9:footer_banner ===========*/
#footer_banner {
 padding: 65px 0 55px;
}
#footer_banner .cont_inner .f_banner a{
 display: block;
 transition: all 1.0s;
}
#footer_banner .cont_inner .f_banner a:hover{
 opacity: 0.7;
}
#footer_banner .cont_inner .banner_01{
 width: 800px;
 margin: auto;
}
#footer_banner .cont_inner .banner_02{
 width: 600px;
 margin: 40px auto 0;
}
#footer_banner .cont_inner .product_link{
 align-items: flex-start;
 width: 627px;
 margin: 55px auto 0;
}
#footer_banner .cont_inner .product_link picture{
 width: 200px;
}
#footer_banner .cont_inner .product_link .product_link_cont{
 width: 427px;
 padding-left: 30px;
}
#meijitokachi #main #footer_banner .cont_inner .product_link .product_link_cont h3{
 font-family: 'Shippori Mincho', serif !important;
 color: #14126F;
 font-size: 26px;
 font-weight: 600;
 margin-bottom: 10px;
}
#meijitokachi #main #footer_banner .cont_inner .product_link .product_link_cont p.catch{
 font-family: 'Shippori Mincho', serif !important;
 color: #14126F;
 font-size: 18px;
 font-weight: 600;
 line-height: 1.6;
 margin-bottom: 10px;
}
#footer_banner .cont_inner .product_link .product_link_cont a{
 display: inline-block;
 color: #14126F !important;
 font-weight: 700;
 padding-right: 23px;
 margin-top: 10px;
 background: url("../images/icon_win.svg") center right no-repeat;
 background-size: 19px auto;
 transition: all 1.0s;
}
#footer_banner .cont_inner .product_link .product_link_cont a:hover{
 opacity: 0.7;
}
#footer_banner .search_stores_from_the_map {
 width: 474px;
 margin: 40px auto 0;
}
#footer_banner .search_stores_from_the_map img {
 transition: opacity 0.4s ease;
 opacity: 1;
}
#footer_banner .search_stores_from_the_map img:hover {
 opacity: 0.6;
}

@media screen and (max-width: 640px) {
 #footer_banner {
  padding: 9.333vw 0 16.4vw;
 }
 #footer_banner .cont_inner .banner_01{
  width: 92vw;
  margin: auto;
 }
 #footer_banner .cont_inner .banner_02{
  width: 80vw;
  margin: 6.267vw auto 0;
 }
 #footer_banner .cont_inner .product_link{
  flex-direction: column;
  align-items: center;
  width: 85vw;
  margin: 16.267vw auto 0;
 }
 #footer_banner .cont_inner .product_link picture{
  width: 53.333vw;
  margin-bottom: 8.267vw;
 }
 #footer_banner .cont_inner .product_link .product_link_cont{
  width: 100%;
  padding-left: 0;
 }
 #meijitokachi #main #footer_banner .cont_inner .product_link .product_link_cont h3{
  font-size: 5.867vw;
  margin-bottom: 6vw;
 }
 #meijitokachi #main #footer_banner .cont_inner .product_link .product_link_cont p.catch{
  font-size: 4.433vw;
  margin-bottom: 6vw;
 }
 #footer_banner .cont_inner .product_link .product_link_cont a{
  padding-right: 3.067vw;
  margin-top: 6vw;
  background-size: 2.533vw auto;
 }
 #footer_banner .search_stores_from_the_map {
  width: 80vw;
  margin: 6.267vw auto 0;
 }
 #footer_banner .search_stores_from_the_map img {
  width: 80vw !important;
 }
}
/*==============================*/
