@charset "UTF-8";
/* ==========================================================================
 * Layout
 * ========================================================================== */
#wrapper {
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
  letter-spacing: 0.02em;
  line-height: 1.8em;
  font-family: 'Noto Sans JP', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', sans-serif;
  -webkit-font-family: 'Noto Sans JP', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', sans-serif;
  font-weight: 300;

}

@media screen and (max-width: 820px) {
  #wrapper {
    padding-bottom: 15px;
  }
}

#pagetop {
  background: #efefef;
}

@media screen and (max-width: 820px) {
  #footer_sp {
    margin-top: 0;
  }
}

.l-appbox {
  padding-bottom: 70px;
}

.l-appbox.even{
  background:#efefef;
}
.l-appbox a {
  color: #f9504c;
}


.l-appbox a:hover {
  opacity: 0.7;
}

/* ==========================================================================
 * Object
 * ========================================================================== */
/* Component ==============================*/
/* Section */
.c-section {
  max-width: 980px;
  margin: 70px auto 0;
}

@media screen and (max-width: 820px) {
  .c-section {
    margin: 0 auto;
  }
}

.c-section__title {
  font-size: 30px;
  color: #f9504c;
  margin: 0 auto 80px auto;
  text-align: center;
  position: relative;
  padding: 50px 0 0 0;
  font-weight: bold;
}

.c-section__title::before {
  content: url(/images/appbox/img-icon.png);
  position: relative;
  top: 15px;
  margin: 0 20px 0 0;
}

.c-section__title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -50px; /*下線の上下位置調整*/
  display: inline-block;
  width: 70px; /*下線の幅*/
  height: 4px; 
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); 
  background-color: #f9504c;
  }
  
  @media screen and (max-width: 820px) {
    .c-section__title {
      font-size: 25px;
      color: #f9504c;
      margin: 0 auto 80px auto;
      text-align: center;
      position: relative;
      padding: 50px 0 0 0;
      font-weight: bold;
    }


  }

/* Project ==============================*/
/* Introduction */
.p-introduction {
	background:  url(/images/appbox/img-key-bg.png) bottom repeat-x #efefef;
	text-align: center;
  position: relative;
  animation: bg-slider 43s linear infinite; /* 23sの部分背景画像の約数だとスムーズ */
  padding: 0 0 250px 0;
}

@keyframes bg-slider {
	from { background-position: 0 100%; }
    to { background-position: -599px 100%; } /* 1518pxとは使用した背景画像の長さ */
}

@media screen and (max-width: 820px) {
  .p-introduction {
    width: 100%;
    line-height: 1.9em;
  }
  @keyframes bg-slider {
    from { background-position: 0 100%;; }
      to { background-position: -599px 100%; } /* 1518pxとは使用した背景画像の長さ */
  }
}

.p-introduction_img{
	position: absolute;
	left: 50%;
	bottom: 0;
	margin: 0 0 0 -220px;
}



@media screen and (max-width: 400px) {
  .p-introduction_img{
    position: absolute;
    left: 50%;
    bottom: 0;
    margin: 0 0 0 -176px;
    width: 90%;
  }

}


.p-introduction h1 {
  padding: 40px 0 ;
  width: 30%;
  margin: auto;
}
.p-introduction h1 img{
  width: 100%;
}


@media screen and (max-width: 820px) {
  .p-introduction h1{
    width: 60%;
    margin: auto;

  }
  .p-introduction h1 img{
    width: 100%;
  }

}

.p-introduction h2 {
  font-size: 30px;
  font-weight: bold;
  color: #f9504c;
  font-family: 'Open Sans', 'Noto Sans JP', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', sans-serif;
  margin: 0 0 45px 0;
  line-height: 1.2;
}


@media screen and (max-width: 820px) {
  .p-introduction h2 {
    margin: 0 auto 20px auto;
    font-size: 20px;
  }
}

.p-introduction__caption{
  font-size: 16px;
  font-weight: bold;
  color: #774947;
  font-family: 'Open Sans', 'Noto Sans JP', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', sans-serif;
  margin: 0 0 20px 0;
  line-height: 1.6;
}

@media screen and (max-width: 820px) {
  .p-introduction__caption{
    font-size: 14px;
    font-weight: bold;
    margin: 0 auto 20px auto;
  }
}


.p-introduction__image {
  position: relative;
  z-index: 1;
  margin-top: -60px;
  text-align: center;
}

.p-introduction__image img {
  max-width: 100%;
  height: auto;
}





.p-introduction__text p {
  font-size: 14px;
  line-height: 23 / 14;
  max-width: 586px;
  margin-left: auto;
  margin-right: 0;
}

@media screen and (max-width: 820px) {
  .p-introduction__text {
    margin-top: -55px;
    margin-right: 20px;
    padding: 30px 20px;
  }
  .p-introduction__text p {
    max-width: 100%;
    margin: 0;
  }
}

@media screen and (max-width: 820px) {
  .p-introduction__text h2 {
    font-size: 18px;
  }
}



.p-recommend{
}


.p-recommend__list {
  list-style-type: none;
  margin:   100px auto 120px auto;
  width: 600px;
  padding: 0 0 0 30px;
}


.p-recommend__list  li {
  margin: 0 0 40px 0;
  font-size:24px;
  font-weight: bold;
  color: #774947;
  width: 600px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  -webkit-align-items: center; 
}

.p-recommend__list  li span.number_text{
}

.p-recommend__list  li span.number {
  height:40px;
  width:40px !important;
  border-radius:50%;
  line-height:40px;
  text-align:center;
  background: #f9504c;
  color:#fff;
  font-size:18px;
  font-weight: bold;
  margin: 0 15px 0 0;
}



@media screen and (max-width: 820px) {
  .p-recommend__list {
    list-style-type: none;
    margin:   100px auto 120px auto;
    width: 90%;
  }

  .p-recommend__list  li {
    margin: 0 0 1em 0;
    font-size:18px;
    font-weight: bold;
    color: #774947;
    width: 90%;
    align-items: center;

  }
  
  .p-recommend__list  li span.number_text{
    width: 80%;
}

}

.p-function {
  margin: auto;
}



.p-function__list{
  display: flex;
  justify-content: space-between;
  flex-wrap : wrap;
  width: 980px;
}

.p-function__list li{
  width: 400px;

}

.p-function__list li img{
  margin: 0 auto 20px auto;
  display: block;

}

@media screen and (max-width: 820px) {
  .p-function__list{
    display: block;
    width: 100%;
  }
  .p-function__list li{
    width: 90%;
    margin: auto;

  }
  .p-function__list li img{
    margin: 0 auto 20px auto;
    display: block;
  
  }

}



.p-function__title{
   color: #f9504c;
   font-weight: bold;
   font-size: 24px;
   margin:40px 0 40px 0;
}

.p-function__title strong{
  color: #f9504c;
  font-weight: bold;
  font-size: 48px;
  margin: 0 15px 0 0;
  padding: 0 0 10px 0;
  border-bottom: #f9504c 4px solid;
}


.p-function__p{
  font-size: 16px;
  color: #774947;
  line-height: 1.6;
  margin: 0 0 60px 0;
  font-weight: bold; 
}

.p-contact{
    width: 100%;
    margin: auto;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 50px 0;
    line-height: 1.9em;
}

.p-contact p{
  padding: 40px 0;
}

@media screen and (max-width: 820px) {
  .p-contact p{
    width: 90%;
    margin: auto;

  }
  
}


.c-banner{
  border: 4px solid #d9d9d9;
  border-radius: 10px; 
  display: flex;
  background: #fff;
  justify-content:space-between;
  padding:20px 20px 20px 20px;
  margin: 40px 0;
}

@media screen and (max-width: 820px) {
  .c-banner{
    border: 4px solid #d9d9d9;
    border-radius: 10px; 
    display: block;
    background: #fff;
    justify-content:space-between;
    padding:20px 20px 20px 20px;
    margin: 40px auto;
    width: 80%;
  }

  .c-banner__apps{
    width: 105% !important;
    display: block;
  }
  .c-banner__apps.ext-rev2 {
    width: auto !important;;
    display: flex;
  }

  .c-banner__apps img{
    display: block;
  }

}


.c-banner__apps{
    width: 440px; 
    display: flex;

}
.c-banner__apps.ext-rev2{
  display: flex;
  justify-content: center;
}
.c-banner__apps a{
  padding: 10px 20px 0 0;
  display: block;
}
.c-banner__apps.ext-intro {
  margin: 0 auto 3em;
}
.c-banner__apps.ext-rev2 a:last-child {
  padding-right: 0;
}
.c-banner__apps.ext-rev2 img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 820px) {
  .c-banner__apps.ext-intro {
    width: calc(100% - 30px) !important;
  }
}

.c-banner__apps img{
    width: 100%;
    padding: 0 20px 0 0;
    display: block;
}

/* Utility ==============================*/
@media screen and (max-width: 820px) {
  .u-pc_only {
    display: none;
  }
}

@media screen and (min-width: 821px) {
  .u-sp_only {
    display: none;
  }
}

.u-breakctrl {
  display: inline-block;
}

/* Margin ============== */
.u-margin_top_short {
  margin-top: 1em !important;
}

.u-margin_top_medium {
  margin-top: 3em !important;
}

.u-margin_top_long {
  margin-top: 5em !important;
}


/* image ============== */
.u-image__responsive {
  max-width: 100%;
  height: auto;
}

/* Text ============== */
.u-text__center {
  text-align: center !important;
}

.u-text__left {
  text-align: left !important;
}

.u-text__right {
  text-align: right !important;
}

@media screen and (max-width: 820px) {
  .u-sp_text__center {
    text-align: center !important;
  }
  .u-sp_text__left {
    text-align: left !important;
  }
  .u-sp_text__right {
    text-align: right !important;
  }
}

/* Animation ==============================*/

.css-fade3{
  // アニメーション設定
  animation-name:fade-in3;
  animation-duration:2s; //アニメーション時間
  animation-timing-function: ease-out; //アニメーションさせるイージング
  animation-delay:1s; //アニメーション開始させる時間
  animation-iteration-count:1; //繰り返し回数
  animation-direction:normal; //往復処理をするかどうか
  animation-fill-mode: forwards; //アニメーション後のスタイルをどうするか
}
// アニメーション
@keyframes fade-in3 {
  0% {opacity: 0; transform: translate3d(0,20px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}



.appBox_campaign_bg{
	margin: 100px auto 0 auto;
	text-align: center;
}

.appBox_campaign_bg .appBox_campaign_bg_pc{
	margin-bottom: 40px auto 100px auto;
}

.appBox_campaign_bg .appBox_campaign_bg_pc img{
	width: 1000px;
	height: auto;
}

.appBox_campaign_bg .appBox_campaign_bg_sp{
	display: none;
}

/*SMP SETTEING*/
@media screen and (max-width: 820px) {
	.appBox_campaign_bg{
		width: 90%;
	}
	
	.appBox_campaign_bg .appBox_campaign_bg_sp{
		display: block;
	}
	
	.appBox_campaign_bg .appBox_campaign_bg_sp img{
		width: 100%;
		height: auto;
	}
	
	.appBox_campaign_bg .appBox_campaign_bg_pc{
		display: none;
	}
}

/* Section ================================== */
.c-section {
  margin: 50px 15px 0;
  max-width: 1080px;
}

@media screen and (min-width: 821px) {
  .c-section {
    margin: 100px auto 0;
  }
}

@media screen and (min-width: 821px) and (max-width: 1120px) {
  .c-section {
    margin: 100px 40px 0;
  }
}

.c-section__title {
  font-size: 18px;
  text-align: center;
  color: #222;
  line-height: 1.2;
  font-weight: bold;
}

@media screen and (min-width: 821px) {
  .c-section__title {
    font-size: 20px;
  }
}

.c-section__title:after {
  content: '';
  display: block;
  margin: 20px auto 0;
  height: 1px;
  width: 40px;
  background: #d1d1d1;
}

.c-section__title + * {
  margin-top: 20px;
}

@media screen and (min-width: 821px) {
  .c-section__title:after {
    margin: 40px auto 0;
    height: 1px;
    width: 80px;
  }
  .c-section__title + * {
    margin-top: 40px;
  }
}

/* Box ================================== */
.c-box {
  background: #fff;
  padding: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 821px) {
  .c-box {
    padding: 40px;
  }
}

.c-box__title {
  border-radius: 7px 7px 0 0;
  font-size: 16px;
  color: #222;
  font-weight: bold;
  padding: 0.75em 15px;
  border-bottom: 1px solid #d1d1d1;
  margin: -15px -15px 20px;
  font-size: 16px;
}

@media screen and (min-width: 821px) {
  .c-box__title {
    font-size: 18px;
  }
}

@media screen and (min-width: 821px) {
  .c-box__title {
    padding: 0.75em 40px;
  }
}

@media screen and (min-width: 821px) {
  .c-box__title {
    font-size: 18px;
  }
}

@media screen and (min-width: 821px) {
  .c-box__title {
    margin: -40px -40px 27px;
  }
}

.c-box__title a {
  text-decoration: underline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-box__title a:before {
  content: '';
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url(/svg/icn-box_title.svg) no-repeat center center;
  background-size: 98% 98%;
  margin-right: 0.5em;
  vertical-align: middle;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-column > .c-box__title {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding-left: 20px;
  padding-right: 20px;
  height: auto;
}

.c-box__content {
  font-size: 14px;
  line-height: 1.8;
}

@media screen and (min-width: 821px) {
  .c-box__content {
    font-size: 16px;
  }
}

.p-appbox .c-list li {
  padding-left: 65px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: top;
      -ms-flex-pack: top;
          justify-content: top;
  min-height: 100px;
  text-align: left;
}

.p-appbox .c-list li div.c-list__plofile {
  position: absolute;
  left: 0;
  top: 20px;
  height: 0;
  padding-top: 50px;
  width: 50px;
  -webkit-transform: translate(0, 0%);
          transform: translate(0, 0%);
  border-radius: 50%;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
}

.p-appbox .c-list li div.c-list__post {
  display: inline-block !important;
}

.p-appbox .c-list li div.c-list__post span{
  display: inline-block !important;
}

.p-appbox .c-list li div.c-list__post img {
  height: auto;
  width: 50%;
  height: 100%;
  -webkit-transform: translate(0, 0%);
          transform: translate(0, 0%);
  border-radius: 10px;
  margin: 10px 0 0 0;
  display: inline-block !important;

}

.p-appbox .c-list li .c-list__title {
  font-weight: bold !important;
  margin: 10px 0 0 0;
}

.p-appbox .c-list li a {
  text-decoration: underline;
  font-weight: normal;
  display: inline-block;
  overflow: hidden;
}

@media screen and (min-width: 821px) {
  .p-appbox .c-list li {
    margin-top: 0;
    padding-left: 70px;
  }
  .p-appbox .c-list li .pc a:hover {
    opacity: 0.7;
  }
}

.appbox-logo img {
  width: 60%;
  text-align: center;
  margin: 10px 0;
}

.appbox-img img {
  width: 30%;
  text-align: center;
}

.appbox-text {
  width: 60%;
  text-align: center;
  margin: 10px auto;
  font-weight: bold;
  color: #F95450;
}

.p-appbox{
  /*background: #000 !important;*/
}

/* List ================================== */
.c-list > li {
  border-top: 1px solid #d1d1d1;
  font-size: 14px;
  padding: 15px 0;
}

@media screen and (min-width: 821px) {
  .c-list > li {
    font-size: 16px;
  }
}

.c-list > li:first-child {
  border-top: 0;
}

@media screen and (min-width: 821px) {
  .c-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-list > li {
    width: calc( 490 / 1000 * 100%);
    border-top: 0;
    border-bottom: 1px solid #d1d1d1;
  }
  .c-list > li:nth-child(1), .c-list > li:nth-child(2) {
    padding-top: 0;
  }
  .c-list > li:nth-child(even) {
    margin-left: calc( 20 / 1000 * 100%);
  }
  .c-column .c-list {
    display: block;
  }
  .c-column .c-list > li {
    width: 100%;
    margin-left: 0;
  }
  .c-column .c-list > li:first-child {
    margin-top: 0;
  }
  .c-column .c-list > li:nth-child(2) {
    padding-top: 15px;
  }
}

.c-list__title {
  display: block;
  color: #333;
  margin-bottom: 0.3em;
}

.c-link {
  margin-left: -0.2em;
  margin-right: -0.2em;
  line-height: 1.8;
}

.c-link a {
  text-decoration: underline;
  display: inline-block;
  border-radius: 7px;
  padding: 0.2em 0.5em;
  font-size: 14px;
}

@media screen and (min-width: 821px) {
  .c-link a {
    font-size: 16px;
  }
}

.c-link a:hover {
  background: #F8F8F8;
  opacity: 1 !important;
}

.c-link a.ext-all {
  text-decoration: underline;
  font-weight: bold;
}

.c-link a.ext-all:after {
  content: '';
  margin-left: 0.3em;
  display: inline-block;
  text-align: center;
  background: url(/svg/bukken/icn-arrow_photomodal.svg) no-repeat center center;
  width: 0.7em;
  height: 0.7em;
}




#topics {
  position: relative;
  z-index: 10;
  padding-top: 3vw;
}
.hide {
  display: none;
}

.app-tab {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px 0;
}
.app-tab li {
  list-style: none;
  border-radius: 7px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  -webkit-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.08);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: normal;
  font-size: 14px;
  padding: 0.5em 1em;
  margin: 0px 10px 10px 0;
}
.app-tab li img {
  max-width: 80px;
  display: block;
  margin: 10px auto;
}
.app-tab li:last-child {
  margin-right: 0;
}
.app-tab li:hover {
  cursor: pointer;
}
.app-tab .select {
  background: #3C3C3C;
  color: #fff;
}


.c-button {
  border-radius: 7px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #ffffff;
  background: #3C3C3C;
  -webkit-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.08);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: normal;
  font-size: 14px;
  padding: 0.5em 1em;
}

.c-cneter{
  text-align: center ;
  margin: auto ;
}

.c-cneter strong{
    font-weight: bold !important;
    color: #F9504C;
}

.c-cneter img{
    width: 90%;
}