@charset "UTF-8";
@media screen and (min-width:961px) {
  * {
    margin: 0;
    padding: 0;
  }
  html {
    height: 100%;
    scroll-behavior: smooth;
  }
  body {
    font-family: "Hina Mincho", "Prata", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 18px;
    line-height: 2;
    height: 100%;
    margin: 0;
    overflow-x: hidden;
    min-height: 100%;
    color: #333333;
  }
  img {
    outline: none;
    border-style: none;
    vertical-align: bottom;
    width: 100%;
  }
  .flex_c {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .flex_p {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 5%;
  }
  .flex_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .center {
    text-align: center;
  }
  /*--KV--*/
  .kv{
    padding: 2% 5% 5% 5%;
    background: #f9f5fa;
  }
  .image {
    margin: 0 auto;
  }
 
  .image .sp {
    display: none;
  }
  .contents {
    padding: 5% 5% 0 5%;
  }
  .contents .inner {}
  .en_title {
    color: #ef95a4;
  }
  /*--Welcome--*/
  .welcome {

  }
  .welcome_text{
    text-decoration: none;
    border-bottom: 1px solid #ef95a4;
    padding-bottom: 1%;
  } 
  .coupon{
    border: 12px solid #f2d5da;
    padding: 16px 16px 24px 16px;
    margin: 32px auto 0 auto;
    width: 65%;
  }
  /*--story--*/
  .story {
    margin-top: 40px;
  }

  .ring_c{
    width: 240px;
    margin: 24px auto 24px auto;
  }

  .ring_c img{

  }

  .story h1 {
    text-align: center;
    font-size: 80px;
    line-height: 1.3em;
    margin-top: 120px;
  }
  .story h2 {
    text-align: center;
    font-size: 32px;
    margin: 24px 0;
  }
  .storybox {
    background-color: #F2D5DA;
    padding: 5%;
    margin: 40px 0 80px 0;
  }
  .numberbox {
    text-align: center;
  }
  .numberbox p {
    line-height: 1.4em;
  }
  .text {
    padding: 5%;
  }
  .tl {
    margin: 16px 0;
    line-height: 1.2em;
  }
  .tl img {
    width: 24px;
  }
  .link {
    text-align: center;
    font-size: 40px;
    margin-top: 40px;
  }
  .link img {
    width: 40px;
    padding: 8px 0;
  }
  /*--共通--*/
  .b_box {
    border-top: 1px solid #000000;
    padding: 16px 0;
    margin: 80px 0;
    overflow: hidden;
  }
  /*--director comment--*/
  .dc_box {
    margin: 5%;
    overflow: hidden;
  }
  .dc_box img {
    width: 15%;
    margin-right: 5%;
    float: left;
  }
  .dc_box p {
    float: left;
    width: 80%;
  }
  /*--user’s voice--*/
  .uv_box {
    border: 1px solid #000000;
    padding: 3%;
    width: 42.5%;
    margin-bottom: 3%;
  }
  .uv_box img {
    width: 30%;
    display: block;
    margin: 0 auto 24px auto;
  }
  .uv_box .voice {

  }
    /*--step--*/
    ul.step{
      margin: 24px 0;
    }
    ul.step li{
      list-style-type: decimal;
      border-top: 1px solid #dfb7be;
      padding: 16px 0;
      list-style-position: inside;
      margin-left: 0em;
      text-indent: 0em;
  }
    ul.step li:last-child{

      border-bottom: 1px solid #dfb7be;
 
    }


  /*--support--*/
  .supportbox {
    border-top: 1px solid #D6D6D6;
    padding: 64px 0 24px 0;
    overflow: hidden;
    margin: 5%;
  }
  .supportbox .left {
    width: 30%;
    float: left;
  }
  .supportbox .left img {
    width: 40px;
  }
  .supportbox .right {
    width: 70%;
    float: left;
  }
  /*--brand concept--*/
  .bc {
    margin: 5%;
    overflow: hidden;
    text-align: center;
  }
  .bc_message {
    font-size: 24px;
    line-height: 240%;
    text-align: center;
    margin: 5% 0;
  }
  .bc_message img {
    width: 290px;
    display: block;
    margin: 40px auto;
  }
  .pagetop {
    position: fixed;
    bottom: 24px;
    right: 2%;
  }
  .pagetop a {
    margin: 40px 0 40px 0;
    border-bottom:0px!important;
    text-decoration: none;
    cursor: pointer;
  }
  .pagetop img {
    width: 80px;
  }

  .btn--orange,
  a.btn--orange {
    color: #ffffff;
    background-color: #b0882d;
    padding:16px 24px;
    border-radius: 8px;
  }
  .btn--orange:hover,
  a.btn--orange:hover {
    color: #fff;
    background: #9c7419;
    padding:16px 24px;
  }



  .im_box{
    width:48%;
    float: left;
    margin-bottom:64px;
  }
  .im_box .im img{
    margin:16px 0;
  }
  .im_box h3{
text-align: center;
line-height: 1.4em;
font-size: 24px;
  }
  .im_box p{

  }

  .titlebox{
    margin-bottom:32px;
  }

  .titlebox h1{
    font-size: 100px;
    line-height: 1.3em;
    text-align: center;
    color:#0c4282;
  }

  .titlebox p{
    font-size: 24px;
    text-align: center;
  }

}

@media screen and (max-width:960px) {
  * {
    margin: 0;
    padding: 0;
  }
  html {
    height: 100%;
    scroll-behavior: smooth;
  }
  body {
    font-family: "Hina Mincho", "Prata", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 16px;
    line-height: 2;
    height: 100%;
    margin: 0;
    overflow-x: hidden;
    min-height: 100%;
    color: #333333;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .flex_c {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .flex_p {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 10% 0% 0px 0%;
  }
  .flex_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .center {
    text-align: center;
  }
  /*--KV--*/
  .kv{
    padding: 5%;
    background: #f9f5fa;
  }
  .image {
    margin: 0 auto;
  }
  .image .pc {
    display: none;
  }
  .contents {
    padding: 5% 5% 0 5%;
  }
  .contents .inner {}
  .en_title {
    color: #ef95a4;
  }
  /*--Welcome--*/
  .welcome {}

  .welcome_text{
    text-decoration: none;
    border-bottom: 1px solid #ef95a4;
    padding-bottom: 1%;
  } 
  .coupon{
    border: 12px solid #f2d5da;
    padding: 16px 16px 24px 16px;
    margin: 10% auto 0 auto;
  }
  /*--story--*/
  .story {
    margin-top: 40px;
  }
  .ring_c{
    width: 128px;
    margin: 24px auto 16px auto;
  }

  .ring_c img{

  }
  .story h1 {
    text-align: center;
    font-size: 32px;
  }
  .story h2 {
    text-align: center;
    font-size: 22px;
    margin: 24px 0;
    line-height: 1.5em;
  }
  .storybox {
    background-color: #F2D5DA;
    padding: 5%;
    margin: 16px 0 40px 0;
  }
  .numberbox {
    text-align: center;
  }
  .numberbox p {
    line-height: 1.2em;
  }
  .text {
    padding: 5% 0;
  }
  .text_no_pict {
    padding: 1% 0 5% 0 ;
  }
  .tl {

    line-height: 3em;
  }
  .tl img {
    width: 24px;
    top: 8px;
    position: relative;
  }
  .link {
    text-align: center;
    font-size: 24px;
    margin: 40px 0;
  }
  .link img {
    width: 24px;
  }
  /*--共通--*/
  .b_box {
    border-top: 1px solid #000000;
    margin: 64px 0;
    overflow: hidden;
  }
  /*--director comment--*/
  .dc_box {
    margin: 10% 0% 0px 0%;
    overflow: hidden;
  }
  .dc_box img {
    width: 128px;
    display: block;
    margin: 0 auto 24px auto;
  }
  .dc_box p {

  }
  /*--user’s voice--*/
  .uv_box {
    border: 1px solid #000000;
    padding: 5%;
    margin-bottom: 5%;
  }
  .uv_box img {
    width: 128px;
    display: block;
    margin: 0 auto 24px auto;
  }
  .uv_box .voice {
    width: 100%;
  }
  /*--step--*/
  ul.step{
    margin: 24px 0;
  }
  ul.step li{
    list-style-type: decimal;
    border-top: 1px solid #dfb7be;
    padding: 16px 0;
    list-style-position: inside;
    margin-left: 0em;
    text-indent: 0em;
}
  ul.step li:last-child{

    border-bottom: 1px solid #dfb7be;

  }
  /*--support--*/
  .supportbox {
    border-top: 1px solid #D6D6D6;
    padding: 10% 0 5% 0;
    overflow: hidden;
    margin: 5% 0;
  }
  .supportbox .left {
    margin-bottom: 16px;
    font-size: 20px;
  }
  .supportbox .left img {
    width: 32px;
  }
  .supportbox .right {
  }
  /*--brand concept--*/
  .bc {
    margin: 5% 0;
    overflow: hidden;
    text-align: center;
  }
  .bc_message {
    line-height: 240%;
    text-align: center;
    margin: 5% 0;
  }
  .bc_message img {
    width: 40%;
    display: block;
    margin: 40px auto;
  }
  .pagetop {
    position: fixed;
    bottom: 24px;
    right: 4%;
  }
  .pagetop a {
    margin: 40px 0 40px 0;
    border-bottom:0px!important;
    text-decoration: none;
    cursor: pointer;
  }
  .pagetop img {
    width: 64px;
  }

  btn--orange,
a.btn--orange {
  color: #ffffff;
  background-color: #b0882d;
  padding:16px 64px;
  border-radius: 8px;
  width:100%;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #9c7419;
  padding:16px 64px;
}

.im_box{
  margin-bottom:40px;
}
.im_box .im img{
  margin:16px 0;
}
.im_box h3{
text-align: center;
font-size: 20px;
line-height: 1.4em;
}
.im_box p{

}

.titlebox{
  margin-bottom:26px;
}

.titlebox h1{
  font-size: 40px;
  line-height: 1.3em;
  text-align: center;
  color:#0c4282;
}

.titlebox p{
  font-size: 16px;
  text-align: center;
}


}