.zen {
	font-family: "Zen Old Mincho", serif;

}

* img {
    display: block;
    width: 100%;
    height: auto;
}

.sp_none {
  display: block;
}
.pc_none {
  display: none;
}
@media only screen and (max-width: 740px) { /* 740 */
  .pc_none {
    display: block;
  }
  .sp_none {
    display: none;
  }

}
.kv_flow {
    padding: 0;
    position: relative;
    z-index: 0;
}

.kv_flow img {
    width: 95.2%;
    max-width: 1288px;
    height: auto;
    margin: 0 0 0 auto;
    display: block;
}

.kv_flow::before {
    content: "";
    width: 91%;
    max-width: 1305px;
    height: 15.9vw;
    background-color: #424242;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.breadcrumb {
    padding: 17px 0 17px 73px;
    color: #fff;
    font-size: 11px;
}


.banner_area.results0 {
    display: none;
}

.page_menu {
  margin: 0 auto 15px;
  padding: 38px 0 0 0;
  max-width: 693px;
  display: flex;
  justify-content: space-between;
}
.page_menu .item {
  width: 23.665%;
}
.page_menu .item a {
  padding: 0 0 0 11px;
  width: 100%;
  height: 33px;
  text-align: left;
  line-height: 1.4em;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  border: 1px solid #000;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  transition: all 0.5s 0s ease-in-out;
}
.page_menu .item a::after {
  width: 4px;
  height: 8px;
  content: "";
  background: url("../../img/maintenance/arrow_01.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translate(0,-50%);
}
.page_menu .item a:hover {
  color: #fff;
  border: 1px solid #4d4d4d;
  background: #4d4d4d;
}
.page_menu .item a:hover::after {
  background: url("../../img/maintenance/arrow_02.png") no-repeat center center;
  background-size: 100% 100%;
}
.page_menu .item a.current {
  color: #fff;
  border: 1px solid #4d4d4d;
  background: #4d4d4d;
}
.page_menu .item a.current::after {
  background: url("../../img/maintenance/arrow_02.png") no-repeat center center;
  background-size: 100% 100%;
}


/* ---------------------------------------------------------------
	1260px ～ 1001px
--------------------------------------------------------------- */
@media only screen and (min-width: 1001px) and (max-width: 1260px) { /* 1260 */
  .breadcrumb {
      padding: 1.349vw 0 1.349vw 5.794vw;
      color: #fff;
      font-size: 0.873vw;
  }
  
  .page_menu {
    margin: 0 auto 1.016vw;
    max-width: 55vw;
  }
  .page_menu .item {
    width: 23.665%;
  }
  .page_menu .item a {
    padding: 0 0 0 0.873vw;
    width: 100%;
    height: 2.619vw;
    text-align: left;
    line-height: 1.4em;
    font-size: 1.111vw;
    font-weight: 500;
  }
  .page_menu .item a::after {
    width: 0.317vw;
    height: 0.635vw;
    right: 0.635vw;
  }
  .page_menu .item a:hover {
  }
  .page_menu .item a:hover::after {
  }
  .page_menu .item a.current {
  }
  .page_menu .item a.current::after {
  }

  
}
/* ---------------------------------------------------------------
	1000px ～ 741px
--------------------------------------------------------------- */
@media only screen and (min-width: 741px) and (max-width: 1000px) { /* 1500 */
  .breadcrumb {
      padding: 1.133vw 0 1.133vw 4.867vw;
      color: #fff;
      font-size: 0.733vw;
  }
  
  .page_menu {
    margin: 0 auto 1.533vw;
    max-width: 46.2vw;
  }
  .page_menu .item {
    width: 23.665%;
  }
  .page_menu .item a {
    padding: 0 0 0 0.733vw;
    width: 100%;
    height: 2.2vw;
    text-align: left;
    line-height: 1.4em;
    font-size: 0.933vw;
    font-weight: 500;
  }
  .page_menu .item a::after {
    width: 0.267vw;
    height: 0.533vw;

    top: 50%;
    right: 0.533vw;
    transform: translate(0,-50%);
  }
  .page_menu .item a:hover {

  }
  .page_menu .item a:hover::after {

  }
  .page_menu .item a.current {

  }
  .page_menu .item a.current::after {

  }
}
@media print,
screen and (max-width: 740px) {
    .banner_area.results0 {
        width: 100%;
        display: block;
    }

    .kv_flow img {
        display: none;
    }

    .sp_none {
        display: none;
    }

    .breadcrumb.pc_none {
        display: block;
        color: #000;
        padding: min(2.3vw, 17px) 0 min(2.3vw, 17px) min(4.1vw, 30px);
        font-size: min(2.2vw, 16px);
    }



  .page_menu {
    margin: 0 auto 1.378vw;
    max-width: 91.351vw;
    flex-wrap: wrap;
  }
  .page_menu .item {
    margin: 0 0 2.703vw 0;
    width: 44.459vw;
  }
  .page_menu .item a {
    padding: 0 0 0 3.243vw;
    width: 100%;
    height: 8.919vw;
    text-align: left;
    line-height: 1.4em;
    font-size: 3.784vw;
    font-weight: 500;

  }
  .page_menu .item a::after {
    width: 1.081vw;
    height: 2.162vw;
    top: 50%;
    right: 1.622vw;
    transform: translate(0,-50%);
  }
  .page_menu .item a:hover {
  }
  .page_menu .item a:hover::after {
  }
  .page_menu .item a.current {
  }
  .page_menu .item a.current::after {
  }



}


/* privacy_menu */
.privacy_menu_wrapper {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  overflow: hidden;
  display: none;
}
.privacy_menu {
  margin: 20px auto 0px;
  padding: 18px 0 18px 15px;
  width: 693px;
  background: rgba(77,77,77,0.9);
  position: relative;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  box-sizing: border-box;
  transition: all 0.6s 0s ease-in-out;
}
.privacy_menu::after {
  width: 44px;
  height: 20px;
  content: "";
  background: url("../../img/new/privacy/deco_01.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: -20px;
  right: 63px;
}
.privacy_menu .item {
  width: 213px;
}
.privacy_menu .item a {
  padding: 0 0 0 50px;
  width: 100%;
  height: 51px;
  line-height: 1.4em;
  font-size: 13px;
  font-weight: bold;
  color: #000000;
  background: #fff;
  border: 1px solid #000;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  position: relative;
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item a:hover {
  color: #fff;
  background: rgba(0,0,0,0.5);
  border: 1px solid #fff;
}
.privacy_menu .item.current a {
  color: #fff;
  background: rgba(0,0,0,0.5);
  border: 1px solid #fff;
}
.privacy_menu .item a::after {
  width: 5px;
  height: 8px;
  content: "";
  background: url("../../img/new/privacy/arrow_03.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0,-50%);
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item a:hover::after {
  background: url("../../img/new/privacy/arrow_04.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.current a::after {
  background: url("../../img/new/privacy/arrow_04.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon01 a::before {
  width: 32px;
  height: 28px;
  content: "";
  background: url("../../img/new/privacy/icon_01.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0,-50%);
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item.item--icon02 a::before {
  width: 30px;
  height: 28px;
  content: "";
  background: url("../../img/new/privacy/icon_02.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translate(0,-50%);
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item.item--icon03 a::before {
  width: 28px;
  height: 35px;
  content: "";
  background: url("../../img/new/privacy/icon_03.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translate(0,-50%);
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item.item--icon04 a::before {
  width: 27px;
  height: 32px;
  content: "";
  background: url("../../img/new/privacy/icon_04.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translate(0,-50%);
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item.item--icon05 a::before {
  width: 26px;
  height: 33px;
  content: "";
  background: url("../../img/new/privacy/icon_05.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translate(0,-50%);
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item.item--icon06 a::before {
  width: 28px;
  height: 28px;
  content: "";
  background: url("../../img/new/privacy/icon_06.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translate(0,-50%);
  transition: all 0.4s 0s ease-in-out;
}
.privacy_menu .item.item--icon01 a:hover::before {
  background: url("../../img/new/privacy/icon_01-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon02 a:hover::before {
  background: url("../../img/new/privacy/icon_02-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon03 a:hover::before {
  background: url("../../img/new/privacy/icon_03-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon04 a:hover::before {
  background: url("../../img/new/privacy/icon_04-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon05 a:hover::before {
  background: url("../../img/new/privacy/icon_05-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon06 a:hover::before {
  background: url("../../img/new/privacy/icon_06-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon01.current a::before {
  background: url("../../img/new/privacy/icon_01-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon02.current a::before {
  background: url("../../img/new/privacy/icon_02-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon03.current a::before {
  background: url("../../img/new/privacy/icon_03-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon04.current a::before {
  background: url("../../img/new/privacy/icon_04-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon05.current a::before {
  background: url("../../img/new/privacy/icon_05-on.png") no-repeat center center;
  background-size: 100% 100%;
}
.privacy_menu .item.item--icon06.current a::before {
  background: url("../../img/new/privacy/icon_06-on.png") no-repeat center center;
  background-size: 100% 100%;
}
/* ---------------------------------------------------------------
	1260px ～ 1001px
--------------------------------------------------------------- */
@media only screen and (min-width: 1001px) and (max-width: 1260px) { /* 1260 */
  .privacy_menu_wrapper {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    overflow: hidden;
  }

  .privacy_menu {
    margin: 1.587vw auto 0;
    padding: 1.429vw 0 1.429vw 1.19vw;
    width: 55vw;
    gap: 0.952vw;
  }
  .privacy_menu::after {
    width: 3.492vw;
    height: 1.587vw;
    top: -1.587vw;
    right: 5vw;
  }
  .privacy_menu .item {
    width: 16.905vw;
  }
  .privacy_menu .item a {
    padding: 0 0 0 3.968vw;
    height: 4.048vw;
    line-height: 1.4em;
    font-size: 1.032vw;
    font-weight: bold;
  }
  .privacy_menu .item a::after {
    width: 0.397vw;
    height: 0.635vw;
    right: 0.794vw;
  }
  .privacy_menu .item.item--icon01 a::before {
    width: 2.54vw;
    height: 2.222vw;
    left: 0.794vw;
  }
  .privacy_menu .item.item--icon02 a::before {
    width: 2.381vw;
    height: 2.222vw;
    left: 0.952vw;
  }
  .privacy_menu .item.item--icon03 a::before {
    width: 2.222vw;
    height: 2.778vw;
    left: 1.111vw;
  }
  .privacy_menu .item.item--icon04 a::before {
    width: 2.143vw;
    height: 2.54vw;
    left: 0.952vw;
  }
  .privacy_menu .item.item--icon05 a::before {
    width: 2.063vw;
    height: 2.619vw;
    left: 1.111vw;
  }
  .privacy_menu .item.item--icon06 a::before {
    width: 2.222vw;
    height: 2.222vw;
    left: 0.952vw;
  }
}
/* ---------------------------------------------------------------
	1000px ～ 741px
--------------------------------------------------------------- */
@media only screen and (min-width: 741px) and (max-width: 1000px) { /* 1500 */
  .privacy_menu_wrapper {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    overflow: hidden;
  }
  /* privacy_menu */
  .privacy_menu {
    margin: 1.333vw auto 0;
    padding: 1.2vw 0 1.2vw 1vw;
    width: 46.2vw;
    gap: 0.8vw;
  }
  .privacy_menu::after {
    width: 2.933vw;
    height: 1.333vw;
    top: -1.333vw;
    right: 4.2vw;
  }
  .privacy_menu .item {
    width: 14.2vw;
  }
  .privacy_menu .item a {
    padding: 0 0 0 3.333vw;
    width: 100%;
    height: 3.4vw;
    line-height: 1.4em;
    font-size: 0.867vw;
    font-weight: bold;
  }
  .privacy_menu .item a::after {
    width: 0.333vw;
    height: 0.533vw;
    right: 0.667vw;
  }
  .privacy_menu .item.item--icon01 a::before {
    width: 2.133vw;
    height: 1.867vw;
    left: 0.667vw;
  }
  .privacy_menu .item.item--icon02 a::before {
    width: 2vw;
    height: 1.867vw;
    left: 0.8vw;
  }
  .privacy_menu .item.item--icon03 a::before {
    width: 1.867vw;
    height: 2.333vw;
    left: 0.933vw;
  }
  .privacy_menu .item.item--icon04 a::before {
    width: 1.8vw;
    height: 2.133vw;
    left: 0.8vw;
  }
  .privacy_menu .item.item--icon05 a::before {
    width: 1.733vw;
    height: 2.2vw;
    left: 0.933vw;
  }
  .privacy_menu .item.item--icon06 a::before {
    width: 1.867vw;
    height: 1.867vw;
    left: 0.8vw;
  }

}
@media only screen and (max-width: 740px) { /* 740 */
  .privacy_menu_wrapper {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    overflow: hidden;
    display: block;
  }
  .privacy_menu {
    margin: 0 0 7.568vw 0;
    padding: 5.135vw 3.378vw 2.432vw 3.378vw;
    width: 100%;
    background: #ededed;
    position: relative;
    display: flex;
    gap: 0;
    justify-content: space-between;
    flex-wrap: wrap;
    box-sizing: border-box;
    transition: all 0.6s 0s ease-in-out;
  }
  .privacy_menu::after {
    display: none;
  }
  .privacy_menu h3 {
    margin: 0 0 5.405vw 0;
    padding: 0 0 2.027vw 0;
    width: 100%;
    border-bottom: 1px solid #000;
    text-align: center;
    line-height: 1.4em;
    font-size: 5.405vw;
    font-weight: 900;
  }
  .privacy_menu .item {
    margin: 0 0 2.703vw 0.676vw;
    width: 43.824vw;
  }
  .privacy_menu .item:nth-of-type(2n) {
    margin: 0 0.676vw 2.703vw 0;
  }
  .privacy_menu .item a {
    padding: 1.622vw 0 0 0;
    width: 100%;
    height: 24.865vw;
    line-height: 1.4em;
    font-size: 3.784vw;
    font-weight: bold;
    text-align: center;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
  }
  .privacy_menu .item a .text {
    min-height: 2.8em;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .privacy_menu .item a::after {
    width: 0.946vw;
    height: 1.892vw;
    position: absolute;
    top: 50%;
    right: 1.351vw;
    transform: translate(0,-50%);
  }
  .privacy_menu .item.item--icon01 a::before {
    width: 8.108vw;
    height: 7.297vw;
    top: auto;
    bottom: 2.973vw;
    left: 50%;
    transform: translate(-50%,0);
  }
  .privacy_menu .item.item--icon02 a::before {
    width: 8.108vw;
    height: 7.568vw;
    top: auto;
    bottom: 2.703vw;
    left: 50%;
    transform: translate(-50%,0);
  }
  .privacy_menu .item.item--icon03 a::before {
    width: 7.568vw;
    height: 9.459vw;
    top: auto;
    bottom: 3.514vw;
    left: 50%;
    transform: translate(-50%,0);
  }
  .privacy_menu .item.item--icon04 a::before {
    width: 7.297vw;
    height: 8.649vw;
    top: auto;
    bottom: 2.838vw;
    left: 50%;
    transform: translate(-50%,0);
  }
  .privacy_menu .item.item--icon05 a::before {
    width: 7.027vw;
    height: 8.919vw;
    top: auto;
    bottom: 4.459vw;
    left: 50%;
    transform: translate(-50%,0);
  }
  .privacy_menu .item.item--icon06 a::before {
    width: 7.568vw;
    height: 7.568vw;
    top: auto;
    bottom: 4.324vw;
    left: 50%;
    transform: translate(-50%,0);
  }

}


.ttl_page {
  margin: 0 45px 15px 45px;
  padding: 0 0 13px 0;
  border-bottom: 1px solid #000;
  text-align: center;
}
.ttl_page h2 {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  line-height: 1.2em;
  font-size: 20px;
  font-weight: 900;
  color: #000000;
}


/* policy_detail */
.policy_detail {
  margin: 30px 0 0 0;
  padding: 50px 0 58px 0;
  text-align: center;
  background: #ededed;
  display: none;
}
.policy_detail.active {
  display: block;
}
.policy_detail .head {
  padding: 0 0 25px 0;
}
.policy_detail .description {
  margin: 0 0 0 0;
  padding: 0 100px 20px 100px;
  line-height: 1.6em;
  font-size: 15px;
  text-align: left;
}
.policy_detail .description p {
  margin: 0 0 0 0;
  padding: 0 0 25px 0;
}
.policy_detail .description ol {
  margin: 0 0 0 1.2em;
  padding: 0 0 0 0;
}
.policy_detail .box {
  margin: 0 73px 35px 73px;
  padding: 30px 0 25px 0;
  background: #fff;
  border: 1px solid #000000;
}
.policy_detail .box h3 {
  margin: 0 26px 30px 26px;
  padding: 0 0 10px 0;
  line-height: 1.4em;
  font-size: 18px;
  font-weight: 900;
  border-bottom: 1px solid #000000;
}
.policy_detail .box .detail {
  margin: 0 38px 0 38px;
  padding: 0 0 0 0;
  line-height: 1.8em;
  font-size: 15px;
  font-weight: normal;
  text-align: left;
}
.policy_detail .box .detail p {
  margin: 0 0 0 0;
  padding: 0 0 25px 0;
}
.policy_detail .box .detail p:last-child {
  padding: 0 0 0 0;
}
.policy_detail .box .detail ol {
  margin: 0 0 0 1.2em;
  padding: 0 0 25px 0;
}
.policy_detail .box .detail ol.list01 {
  margin: 0 0 0 0;
  padding: 0 0 25px 0;
  list-style: none;
}
.policy_detail .box .detail ol:last-child {
  padding: 0 0 0 0;
}
.policy_detail .box .detail ol.list01 li {
  margin: 0 0 0 0;
  padding: 0 0 0 1.2em;
  position: relative;
}
.policy_detail .box .detail ol.list01 li .num {
  position: absolute;
  top: 0;
  left: 0;
}
.policy_detail .box .detail a {
  color: #000;
  text-decoration: underline;
}
.policy_detail .box .detail a:hover {
  text-decoration: none;
}
.policy_detail .box .detail dl {
  margin: 0 0 45px 0;
  padding: 0 0 45px 0;
  width: 100%;
  border-bottom: 1px dashed #000;
}
.policy_detail .box .detail dl:last-child {
  margin: 0 0 0 0;
  padding: 0 0 45px 0;
  border-bottom: none;
}
.policy_detail .box .detail dl dt {
  margin: 0 0 0 0;
  padding: 0 0 25px 1.2em;
  line-height: 1.6em;
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
.policy_detail .box .detail dl dt .num {
  position: absolute;
  top: 0;
  left: 0;
}
.policy_detail .box .detail dl dd {
  margin: 0 0 0 0;
  padding: 0 0 0 1.2em;
}



.policy_detail .box .detail.detail--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.policy_detail .box .detail.detail--list ul {
  margin: 0 0 0 1.2em;
  padding: 0 0 0 0;
  width: calc( 45% - 1.2em );
}
.policy_detail .box .detail.detail--list p {
  padding: 18px 0 0 0;
  width: 100%;
}
.policy_detail .link_box {
  margin: 0 0 0 0;
  padding: 25px 0 0 0;
  width: 100%;
  display: flex;
  justify-content: center;
}
.policy_detail .link_box .link {
  margin: 0 8px;
  padding: 0 0 0 0;
  width: 188px;
}
.policy_detail .link_box .link a {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: 100%;
  height: 44px;
  line-height: 1.2em;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #000;
  background: #fff;
  border: 1px solid #1a1311;
  border-radius: 180px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.policy_detail .link_box .link a.return-link {
}
.policy_detail .link_box .link a.contact-link {
  background: #1a1311;
  color: #fff;
}
.policy_detail .link_box .link a::after {
  width: 7px;
  height: 12px;
  content: "";
  background: url("../../img/new/privacy/arrow_01.png") no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(0,-50%);
}
.policy_detail .link_box .link a.return-link::after {
}
.policy_detail .link_box .link a.contact-link::after {
  left: auto;
  right: 15px;
  background: url("../../img/new/privacy/arrow_02.png") no-repeat center center;
  background-size: 100% 100%;
}


.policy_detail .sub_title {
  margin: 0 100px 10px 100px;
  padding: 0 0 0 0;
  line-height: 1.6em;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
}
.policy_detail .contact_info {
  margin: 0 100px 70px 100px;
  padding: 0 0 0 20px;
  line-height: 1.6em;
  font-size: 15px;
  font-weight: normal;
  text-align: left;
  border-left: 3px solid #1a1311;
  box-sizing: border-box;
}


/* ---------------------------------------------------------------
	1260px ～ 1001px
--------------------------------------------------------------- */
@media only screen and (min-width: 1001px) and (max-width: 1260px) { /* 1260 */
  .ttl_page {
    margin: 0 3.571vw 1.19vw 3.571vw;
    padding: 0 0 1.032vw 0;
    text-align: center;
  }
  .ttl_page h2 {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    line-height: 1.2em;
    font-size: 1.587vw;
    font-weight: 900;
  }

  /* policy_detail */
  .policy_detail {
    margin: 2.5vw 0 0 0;
    padding: 3.968vw 0 4.603vw 0;
    text-align: center;
    background: #ededed;
  }
  .policy_detail .head {
    padding: 0 0 1.984vw 0;
  }
  .policy_detail .description {
    margin: 0 0 0 0;
    padding: 0 7.937vw 1.587vw 7.937vw;
    line-height: 1.6em;
    font-size: 1.19vw;
    text-align: left;
  }
  .policy_detail .description p {
    margin: 0 0 0 0;
    padding: 0 0 1.984vw 0;
  }
  .policy_detail .description ol {
    margin: 0 0 0 1.2em;
    padding: 0 0 0 0;
  }
  .policy_detail .box {
    margin: 0 5.794vw 2.778vw 5.794vw;
    padding: 2.381vw 0 1.984vw 0;
    background: #fff;
    border: 1px solid #000000;
  }
  .policy_detail .box h3 {
    margin: 0 2.063vw 2.381vw 2.063vw;
    padding: 0 0 0.794vw 0;
    line-height: 1.4em;
    font-size: 1.429vw;
    font-weight: 900;
    border-bottom: 1px solid #000000;
  }
  .policy_detail .box .detail {
    margin: 0 3.016vw 0 3.016vw;
    padding: 0 0 0 0;
    line-height: 1.8em;
    font-size: 1.19vw;
    font-weight: normal;
    text-align: left;
  }
  .policy_detail .box .detail p {
    margin: 0 0 0 0;
    padding: 0 0 1.984vw 0;
  }
  .policy_detail .box .detail p:last-child {
    padding: 0 0 0 0;
  }
  .policy_detail .box .detail ol {
    margin: 0 0 0 1.2em;
    padding: 0 0 1.984vw 0;
  }
  .policy_detail .box .detail ol.list01 {
    margin: 0 0 0 0;
    padding: 0 0 1.984vw 0;
    list-style: none;
  }
  .policy_detail .box .detail ol:last-child {
    padding: 0 0 0 0;
  }
  .policy_detail .box .detail ol.list01 li {
    margin: 0 0 0 0;
    padding: 0 0 0 1.2em;
    position: relative;
  }
  .policy_detail .box .detail ol.list01 li .num {
    position: absolute;
    top: 0;
    left: 0;
  }
  .policy_detail .box .detail a {
    color: #000;
    text-decoration: underline;
  }
  .policy_detail .box .detail a:hover {
    text-decoration: none;
  }
  .policy_detail .box .detail dl {
    margin: 0 0 3.571vw 0;
    padding: 0 0 3.571vw 0;
    width: 100%;
    border-bottom: 1px dashed #000;
  }
  .policy_detail .box .detail dl:last-child {
    margin: 0 0 0 0;
    padding: 0 0 3.571vw 0;
    border-bottom: none;
  }
  .policy_detail .box .detail dl dt {
    margin: 0 0 0 0;
    padding: 0 0 1.984vw 1.2em;
    line-height: 1.6em;
    font-size: 1.429vw;
    font-weight: bold;
    position: relative;
  }
  .policy_detail .box .detail dl dt .num {
    position: absolute;
    top: 0;
    left: 0;
  }
  .policy_detail .box .detail dl dd {
    margin: 0 0 0 0;
    padding: 0 0 0 1.2em;
  }



  .policy_detail .box .detail.detail--list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .policy_detail .box .detail.detail--list ul {
    margin: 0 0 0 1.2em;
    padding: 0 0 0 0;
    width: calc( 45% - 1.2em );
  }
  .policy_detail .box .detail.detail--list p {
    padding: 1.429vw 0 0 0;
    width: 100%;
  }
  .policy_detail .link_box {
    margin: 0 0 0 0;
    padding: 1.984vw 0 0 0;
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .policy_detail .link_box .link {
    margin: 0 0.635vw;
    padding: 0 0 0 0;
    width: 14.921vw;
  }
  .policy_detail .link_box .link a {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 100%;
    height: 3.492vw;
    line-height: 1.2em;
    font-size: 1.19vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #000;
    background: #fff;
    border: 1px solid #1a1311;
    border-radius: 14.286vw;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .policy_detail .link_box .link a.return-link {
  }
  .policy_detail .link_box .link a.contact-link {
    background: #1a1311;
    color: #fff;
  }
  .policy_detail .link_box .link a::after {
    width: 0.556vw;
    height: 0.952vw;
    content: "";
    background: url("../../img/new/privacy/arrow_01.png") no-repeat center center;
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 1.19vw;
    transform: translate(0,-50%);
  }
  .policy_detail .link_box .link a.return-link::after {
  }
  .policy_detail .link_box .link a.contact-link::after {
    left: auto;
    right: 1.19vw;
    background: url("../../img/new/privacy/arrow_02.png") no-repeat center center;
    background-size: 100% 100%;
  }


  .policy_detail .sub_title {
    margin: 0 7.937vw 0.794vw 7.937vw;
    padding: 0 0 0 0;
    line-height: 1.6em;
    font-size: 1.429vw;
    font-weight: bold;
    text-align: left;
  }
  .policy_detail .contact_info {
    margin: 0 7.937vw 5.556vw 7.937vw;
    padding: 0 0 0 1.587vw;
    line-height: 1.6em;
    font-size: 1.19vw;
    font-weight: normal;
    text-align: left;
    border-left: 3px solid #1a1311;
    box-sizing: border-box;
  }


}
/* ---------------------------------------------------------------
	1000px ～ 741px
--------------------------------------------------------------- */
@media only screen and (min-width: 741px) and (max-width: 1000px) { /* 1500 */
  .ttl_page {
    margin: 0 3vw 1vw 3vw;
    padding: 0 0 0.867vw 0;
    text-align: center;
  }
  .ttl_page h2 {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    line-height: 1.2em;
    font-size: 1.333vw;
    font-weight: 900;
  }

  /* policy_detail */
  .policy_detail {
    margin: 1.8vw 0 0 0;
    padding: 3.333vw 0 3.867vw 0;
    text-align: center;
    background: #ededed;
  }
  .policy_detail .head {
    padding: 0 0 1.667vw 0;
  }
  .policy_detail .description {
    margin: 0 0 0 0;
    padding: 0 6.667vw 1.333vw 6.667vw;
    line-height: 1.6em;
    font-size: 1vw;
    text-align: left;
  }
  .policy_detail .description p {
    margin: 0 0 0 0;
    padding: 0 0 1.667vw 0;
  }
  .policy_detail .description ol {
    margin: 0 0 0 1.2em;
    padding: 0 0 0 0;
  }
  .policy_detail .box {
    margin: 0 4.867vw 2.333vw 4.867vw;
    padding: 2vw 0 1.667vw 0;
    background: #fff;
    border: 1px solid #000000;
  }
  .policy_detail .box h3 {
    margin: 0 1.733vw 2vw 1.733vw;
    padding: 0 0 0.667vw 0;
    line-height: 1.4em;
    font-size: 1.2vw;
    font-weight: 900;
    border-bottom: 1px solid #000000;
  }
  .policy_detail .box .detail {
    margin: 0 2.533vw 0 2.533vw;
    padding: 0 0 0 0;
    line-height: 1.8em;
    font-size: 1vw;
    font-weight: normal;
    text-align: left;
  }
  .policy_detail .box .detail p {
    margin: 0 0 0 0;
    padding: 0 0 1.667vw 0;
  }
  .policy_detail .box .detail p:last-child {
    padding: 0 0 0 0;
  }
  .policy_detail .box .detail ol {
    margin: 0 0 0 1.2em;
    padding: 0 0 1.667vw 0;
  }
  .policy_detail .box .detail ol.list01 {
    margin: 0 0 0 0;
    padding: 0 0 1.667vw 0;
    list-style: none;
  }
  .policy_detail .box .detail ol:last-child {
    padding: 0 0 0 0;
  }
  .policy_detail .box .detail ol.list01 li {
    margin: 0 0 0 0;
    padding: 0 0 0 1.2em;
    position: relative;
  }
  .policy_detail .box .detail ol.list01 li .num {
    position: absolute;
    top: 0;
    left: 0;
  }
  .policy_detail .box .detail a {
    color: #000;
    text-decoration: underline;
  }
  .policy_detail .box .detail a:hover {
    text-decoration: none;
  }
  .policy_detail .box .detail dl {
    margin: 0 0 3vw 0;
    padding: 0 0 3vw 0;
    width: 100%;
    border-bottom: 1px dashed #000;
  }
  .policy_detail .box .detail dl:last-child {
    margin: 0 0 0 0;
    padding: 0 0 3vw 0;
    border-bottom: none;
  }
  .policy_detail .box .detail dl dt {
    margin: 0 0 0 0;
    padding: 0 0 25px 1.2em;
    line-height: 1.6em;
    font-size: 1.2vw;
    font-weight: bold;
    position: relative;
  }
  .policy_detail .box .detail dl dt .num {
    position: absolute;
    top: 0;
    left: 0;
  }
  .policy_detail .box .detail dl dd {
    margin: 0 0 0 0;
    padding: 0 0 0 1.2em;
  }



  .policy_detail .box .detail.detail--list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .policy_detail .box .detail.detail--list ul {
    margin: 0 0 0 1.2em;
    padding: 0 0 0 0;
    width: calc( 45% - 1.2em );
  }
  .policy_detail .box .detail.detail--list p {
    padding: 1.2vw 0 0 0;
    width: 100%;
  }
  .policy_detail .link_box {
    margin: 0 0 0 0;
    padding: 1.667vw 0 0 0;
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .policy_detail .link_box .link {
    margin: 0 0.533vw;
    padding: 0 0 0 0;
    width: 12.533vw;
  }
  .policy_detail .link_box .link a {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 100%;
    height: 2.933vw;
    line-height: 1.2em;
    font-size: 1vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #000;
    background: #fff;
    border: 1px solid #1a1311;
    border-radius: 12vw;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .policy_detail .link_box .link a.return-link {
  }
  .policy_detail .link_box .link a.contact-link {
    background: #1a1311;
    color: #fff;
  }
  .policy_detail .link_box .link a::after {
    width: 0.467vw;
    height: 0.8vw;
    content: "";
    background: url("../../img/new/privacy/arrow_01.png") no-repeat center center;
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 1vw;
    transform: translate(0,-50%);
  }
  .policy_detail .link_box .link a.return-link::after {
  }
  .policy_detail .link_box .link a.contact-link::after {
    left: auto;
    right: 1vw;
    background: url("../../img/new/privacy/arrow_02.png") no-repeat center center;
    background-size: 100% 100%;
  }


  .policy_detail .sub_title {
    margin: 0 6.667vw 0.667vw 6.667vw;
    padding: 0 0 0 0;
    line-height: 1.6em;
    font-size: 1.2vw;
    font-weight: bold;
    text-align: left;
  }
  .policy_detail .contact_info {
    margin: 0 6.667vw 4.667vw 6.667vw;
    padding: 0 0 0 1.333vw;
    line-height: 1.6em;
    font-size: 1vw;
    font-weight: normal;
    text-align: left;
    border-left: 3px solid #1a1311;
    box-sizing: border-box;
  }

  
}

/* ---------------------------------------------------------------
	740px
--------------------------------------------------------------- */
@media only screen and (max-width: 740px) { /* 740 */
  .ttl_page {
    margin: 0 auto 5.405vw auto;
    padding: 0 0 2.973vw 0;
    width: 92.838vw;
    border-bottom: 1px solid #000;
    text-align: center;
  }
  .ttl_page h2 {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    line-height: 1.2em;
    font-size: 5.405vw;
    font-weight: 900;
  }
  
  
  
  /* policy_detail */
  .policy_detail {
    margin: 0 0 6.757vw 0;
    padding: 6.081vw 0 9.459vw 0;
    text-align: center;
  }
  .policy_detail .head {
    padding: 0 0 3.378vw 0;
  }
  .policy_detail .description {
    margin: 0 0 0 0;
    padding: 0 6.081vw 2.703vw 6.081vw;
    line-height: 1.6em;
    font-size: 3.784vw;
    text-align: left;
  }
  .policy_detail .description p {
    margin: 0 0 0 0;
    padding: 0 0 6.081vw 0;
  }
  .policy_detail .description ol {
    margin: 0 0 0 1.2em;
    padding: 0 0 0 0;
  }
  .policy_detail .box {
    margin: 0 4.73vw 4.73vw 4.73vw;
    padding: 4.054vw 0 3.378vw 0;
  }
  .policy_detail .box h3 {
    margin: 0 3.514vw 4.054vw 3.514vw;
    padding: 0 0 1.351vw 0;
    line-height: 1.4em;
    font-size: 4.324vw;
    font-weight: 900;
  }
  .policy_detail .box .detail {
    margin: 0 5.135vw 0 5.135vw;
    padding: 0 0 0 0;
    line-height: 1.8em;
    font-size: 3.784vw;
    font-weight: normal;
    text-align: left;
  }
  .policy_detail .box .detail p {
    margin: 0 0 0 0;
    padding: 0 0 3.378vw 0;
  }
  .policy_detail .box .detail p:last-child {
    padding: 0 0 0 0;
  }
  .policy_detail .box .detail ol {
    margin: 0 0 0 1.2em;
    padding: 0 0 3.378vw 0;
  }
  .policy_detail .box .detail ol.list01 {
    margin: 0 0 0 0;
    padding: 0 0 3.378vw 0;
    list-style: none;
  }
  .policy_detail .box .detail ol:last-child {
    padding: 0 0 0 0;
  }
  .policy_detail .box .detail ol.list01 li {
    margin: 0 0 0 0;
    padding: 0 0 0 1.2em;
    position: relative;
  }
  .policy_detail .box .detail ol.list01 li .num {
    position: absolute;
    top: 0;
    left: 0;
  }
  .policy_detail .box .detail a {
    color: #000;
    text-decoration: underline;
  }
  .policy_detail .box .detail a:hover {
    text-decoration: none;
  }
  .policy_detail .box .detail dl {
    margin: 0 0 6.081vw 0;
    padding: 0 0 6.081vw 0;
    width: 100%;
    border-bottom: 1px dashed #000;
  }
  .policy_detail .box .detail dl:last-child {
    margin: 0 0 0 0;
    padding: 0 0 6.081vw 0;
    border-bottom: none;
  }
  .policy_detail .box .detail dl dt {
    margin: 0 0 0 0;
    padding: 0 0 3.378vw 1.2em;
    line-height: 1.6em;
    font-size: 4.324vw;
    font-weight: bold;
    position: relative;
  }
  .policy_detail .box .detail dl dt .num {
    position: absolute;
    top: 0;
    left: 0;
  }
  .policy_detail .box .detail dl dd {
    margin: 0 0 0 0;
    padding: 0 0 0 1.2em;
  }



  .policy_detail .box .detail.detail--list {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .policy_detail .box .detail.detail--list ul {
    margin: 0 0 0 1.2em;
    padding: 0 0 0 0;
    width: calc( 100% - 1.2em );
  }
  .policy_detail .box .detail.detail--list p {
    padding: 2.432vw 0 0 0;
    width: 100%;
  }
  .policy_detail .link_box {
    margin: 0 auto;
    padding: 3.378vw 0 0 0;
    width: 90.811vw;
    display: flex;
    justify-content: space-between;
  }
  .policy_detail .link_box .link {
    margin: 0 1.081vw;
    padding: 0 0 0 0;
    width: 42.703vw;
  }
  .policy_detail .link_box .link a {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 100%;
    height: 11.892vw;
    line-height: 1.2em;
    font-size: 3.784vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #000;
    background: #fff;
    border: 1px solid #1a1311;
    border-radius: 24.324vw;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .policy_detail .link_box .link a.return-link {
  }
  .policy_detail .link_box .link a.contact-link {
    background: #1a1311;
    color: #fff;
  }
  .policy_detail .link_box .link a::after {
    width: 1.892vw;
    height: 3.243vw;
    content: "";
    background: url("../../img/new/privacy/arrow_01.png") no-repeat center center;
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 3.378vw;
    transform: translate(0,-50%);
  }
  .policy_detail .link_box .link a.return-link::after {
  }
  .policy_detail .link_box .link a.contact-link::after {
    left: auto;
    right: 3.378vw;
    background: url("../../img/new/privacy/arrow_02.png") no-repeat center center;
    background-size: 100% 100%;
  }


  .policy_detail .sub_title {
    margin: 0 auto 1.351vw auto;
    padding: 0 0 0 0;
    width: 90.811vw;
    line-height: 1.6em;
    font-size: 4.054vw;
    font-weight: bold;
    text-align: left;
  }
  .policy_detail .contact_info {
    margin: 0 auto 10.811vw auto;
    padding: 0 0 0 2.703vw;
    width: 90.811vw;
    line-height: 1.6em;
    font-size: 3.649vw;
    font-weight: normal;
    text-align: left;
    border-left: 3px solid #1a1311;
    box-sizing: border-box;
  }

}
