@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;500&display=swap');

/* =============================================
Base Set
============================================= */
html {
  font-size: 62.5%;
}
body {
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ ProN W3', 'Hiragino Sans', 'Hiragino Kaku Gothic Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', HelveticaNeue, Roboto, Verdana, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-feature-settings: "palt" 1;
  font-size: 1.5rem;
  line-height: 1.7;
  color: #505050;
}
body {
  margin: 0 auto;
}
.wrapper{
  position: relative;
}
@media screen and (min-width:768px) {
  .inner {
    max-width:1200px;
    margin: 0 auto;
  }
}

/* -------------------------------------
Font
------------------------------------- */
.marker_blue {
  border-bottom: 3px solid rgba(0, 139, 209, 0.6);
}
.strong{
  color: #008EC7;
  font-weight: bold;
}
.f-roboto{
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
}

/* -------------------------------------
Img
------------------------------------- */
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

/* -------------------------------------
Link
------------------------------------- */
a {
  transition: all .3s ease;
}
*:focus {
  outline: none;
}

/* -------------------------------------
Common
------------------------------------- */
.common-ttl{
  color: #008EC7;
  text-align: center;
  font-size: 2.4rem;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .common-ttl{
    padding-bottom: 50px;
  }
}

/* ---hidden--- */
.hidden-sp {
  display: none !important;
}
.hidden-pc {
  display: block !important;
}
@media (min-width: 768px) {
  .hidden-pc {
    display: none !important;
  }
	.hidden-sp {
    display: block !important;
  }
}


/* ---btn--- */
.link-btn{
  width: 100%;
  border: 1px solid #008EC7;
  background: #fff;
  border-radius: 25px;
  margin: 0 auto;
  position: relative;
}
.link-btn.-gray{
  border: 1px solid #707070;
}
.link-btn::after{
  content: "";
  display: block;
  border: 1px solid;
  border-color: #008EC7 #008EC7 transparent transparent;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
}
.more-btn.link-btn::after{
  transform: translateY(-80%) rotate(135deg);
  -webkit-transform: translateY(-80%) rotate(135deg);
  -ms-transform: translateY(-80%) rotate(135deg);
}
.link-btn.-gray::after{
  border-color: #707070 #707070 transparent transparent;
}
.link-txt.f-roboto{
  padding: 13.5px 0 11.5px;
}
.link-txt{
  text-align: center;
  padding: 12.5px 0;
  display: block;
  line-height: 1;
  color: #008EC7;
}
.link-txt.f-roboto{
  font-weight: 500;
}
.-gray .link-txt{
  color: #707070;
}
.link-btn__area{
  cursor: pointer;
  transition : 1s;
}
@media screen and (min-width:768px) {
  .link-btn{
    width: 25%;
    min-width: 300px;
    border-radius: 25px;
    transition : .5s;
  }
  .link-btn::after{
    content: "";
    display: block;
    border: 1px solid;
    border-color: #008EC7 #008EC7 transparent transparent;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
  }
  .link-btn.-gray::after{
    border-color: #707070 #707070 transparent transparent;
  }
  .link-txt{
    text-align: center;
    padding: 12.5px 0;
    display: block;
    line-height: 1;
    color: #008EC7;
  }
  .-gray .link-txt{
    color: #707070;
  }
  .link-txt:hover{
    color: #fff;
  }
  .link-btn:hover {
    background:#008EC7;
    transition : 1s;
  }
  .-gray.link-btn:hover {
    background:#707070;
  }
  .link-btn:hover::after{
    border-color: #fff #fff transparent transparent;
  }
  .link-btn__area:hover .link-txt{
    color: #fff;
  }
  .link-btn__area:hover .link-btn{
    background:#008EC7;
    color:#fff;
    transition : 1s;
  }
  .link-btn__area:hover .link-btn::after{
    border-color: #fff #fff transparent transparent;
  }
}


/* -------------------------------------
Header
------------------------------------- */
.i-icon{
  width: 26px;
  margin: 0 auto;
  padding: 18px;
}
@media screen and (min-width:768px) {
  .i-icon{
    width: 20px;
    margin: 0 auto;
    padding: 0px;
  }
  .i-icon:hover {
    fill: #008EC7;
  }
}

/* ---nav--- */
.nav-wrap {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 9;
  opacity: 0;
}
.open .nav-wrap {
  left: 0;
  opacity: 999;
  height: 100%;

}
.nav-inner {
  padding: 70px 20px 20px;
}
.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.nav-link{
  position: relative;
  overflow: hidden;
}
.nav-link a {
  display: block;
  color: #008EC7;
  font-size: 2.0rem;
  line-height: 1;
  padding: 25px 0;
  text-decoration: none;
  transition-duration: 0.2s;
}
.hitotokinote-icon{
  display: none;
}

@media screen and (min-width:768px) {
  .hitotokinote-icon{
    display: block;
    width: 280px;
    margin-right: 13%;
  }
  .nav-wrap {
    top: 0;
    left: auto;
    right: 0;
    width: 100%;
    height: auto;
    background: #fff;
    overflow :visible;
    transition: all .5s;
    opacity: 1;
  }
  .nav-inner {
    display: flex;
    flex-direction: row;
    max-width: 1200px;
    margin: 0 auto;
    padding: 25px 40px;
  }
  .nav-list {
    margin: 0;
    text-align: center;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 62%;
  }
  .nav-link{
    position: relative;
    overflow: visible;
  }
  .nav-list .nav-link:last-child::before {
    display: none;
  }
  .nav-link a {
    display: block;
    color: #008EC7;
    font-size: 1.6rem;
    line-height: 1;
    padding: 0;
    text-decoration: none;
    transition-duration: 0.2s;
    white-space: nowrap;
  }
  .nav-link a:hover {
    color: #505050;
    transition: all .3s ease;
  }
  .nav-link .i-icon:hover {
    opacity: 0.5;
    transition: all .3s ease;
  }
}


/* ---toggle_btn--- */
.toggle_btn {
  display: block;
  position: fixed;
  top: 20px;
  right: 20px;
  width: 55px;
  height: 55px;
  transition: all .5s;
  cursor: pointer;
  z-index: 999;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.3);
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 11.5px;
  width: 32px;
  height: 2px;
  background-color: #008ec7;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 16.5px;
  -webkit-animation: btn-bar01 .75s forwards;
  animation: btn-bar01 .75s forwards;
}
@-webkit-keyframes btn-bar01 {
  0% {
    -webkit-transform: translateY(9.5px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(9.5px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn-bar01 {
  0% {
    transform: translateY(9.5px) rotate(45deg);
  }
  50% {
    transform: translateY(9.5px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.toggle_btn span:nth-child(2) {
  top: 26.5px;
  transition: all .25s .25s;
  opacity: 1;
}
.toggle_btn span:nth-child(3) {
  bottom: 16.5px;
  -webkit-animation: btn-bar03 .75s forwards;
  animation: btn-bar03 .75s forwards;
}
@-webkit-keyframes btn-bar03 {
  0% {
    -webkit-transform: translateY(-9.5px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-9.5px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn-bar03 {
  0% {
    transform: translateY(-9.5px) rotate(-45deg);
  }
  50% {
    transform: translateY(-9.5px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.open .toggle_btn span:nth-child(1) {
  -webkit-animation: open-btn-bar01 .75s forwards;
  animation: open-btn-bar01 .75s forwards;
}
@-webkit-keyframes open-btn-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg);
  }
}
@keyframes open-btn-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(10px) rotate(45deg);
  }
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-animation: open-btn-bar03 .75s forwards;
  animation: open-btn-bar03 .75s forwards;
}
@-webkit-keyframes open-btn-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-10px) rotate(-45deg);
  }
}
@keyframes open-btn-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-10px) rotate(0);
  }
  100% {
    transform: translateY(-10px) rotate(-45deg);
  }
}
@media screen and (min-width:768px) {
  .toggle_btn{
    display: none;
  }
}



/* -------------------------------------
mv
------------------------------------- */
#mv {
  position: relative;
  z-index: 1;
  /* padding-bottom: 165.3333%; */
}
.slideshow .slides {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.slideshow .slide {
  display: none;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.slideshow .slide.is-active {
  display: block;
}
.slideshow .slide.is-loaded {
  opacity: 1;
}
.slideshow .slide .image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  z-index: 1;
  background-size: cover;
  image-rendering: optimizeQuality;
}
.slideshow .slide .image {
  width: 100%;
  height: 100%;
}
.slideshow .slide-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
#mv::before{
  content: "";
  display: block;
  width: 202.23px;
  height: 40px;
  position: absolute;
  top: 30px;
  left: 20px;
  background-image: url(/sp/english/hitotoki/hitotokinote/img/hitotokinote_logo.svg);
  background-size: cover;
  z-index: 10;
}
@media screen and (min-width:768px) {
  #mv {
    margin-top: 105px;
  }
  #mv::before {
    display: none;
  }
}


/* -------------------------------------
News
------------------------------------- */
#news{
  margin: 30px 0;
}
.news__txt{
  color: #008EC7;
  text-align: center;
}

/* -------------------------------------
Main
------------------------------------- */
/* --concept--*/
#concept{
  position: relative;
}
#concept::after{
  content: "";
  display: block;
  width: 100%;
  height: 797px;
  position: absolute;
  top: -140px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-image: url(/sp/english/hitotoki/hitotokinote/img/concept_img_sp.jpg);
  background-size: cover;
  background-position-y: center;
  z-index: -1;
}
#concept .common-ttl{
  font-size: 3.0rem;
  font-feature-settings: normal;
  margin: 0 auto;
  padding-top: 54px;
}
.concept__catch-area{
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding-left: 5.5%;
}
.concept__catch{
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
.concept__catch:first-of-type{
  margin-right: 78px;
  position: relative;
}
.concept__catch:first-of-type::before,
.concept__catch:first-of-type::after{
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  background: #505050;
  transform: rotate(45deg);
  transform-origin:0% 50%;
  position: absolute;
  top: 6px;
  right: -76px;
}
.concept__catch:first-of-type::after{
  transform: rotate(-45deg);
  transform-origin:100% 50%;
  right: -58px;
}
.concept__txt{
  text-align: center;
  margin-top: 300px;
  margin-bottom: 52px;
}
@media screen and (min-width:500px) {
  #concept::after{
    top: -190px;
    background-image: url(/sp/english/hitotoki/hitotokinote/img/concept_img_pc.png);
    background-size: cover;
    background-position: center;
    z-index: -1;
  }
  .concept__txt{
  margin-top: 330px;
}
}
@media screen and (min-width:768px) {
  #concept::after{
    width: 100%;
    height: 1394px;
    top: -275px;
    background-repeat: no-repeat;
    background-size: 1920px;
    background-color: #ccdfea;
    overflow-X: hidden;
  }
  #concept .common-ttl{
    font-size: 4.4rem;
    padding-top: 140px;
    white-space: nowrap;
  }
  .concept__catch-area{
    padding-left: 2.5%;
  }
  .concept__catch{
    font-size: 3.0rem;
  }
  .concept__catch:first-of-type{
    margin-right: 150px;
  }
  .concept__catch:first-of-type::before,
  .concept__catch:first-of-type::after{
    width: 122px;
    right: -157px;
  }
  .concept__catch:first-of-type::after{
    right: -121px;
  }
  .concept__txt{
    font-size: 1.8rem;
    margin-top: 600px;
    margin-bottom: 90px;
  }
}
/* type */
.type {
  padding: 90px 40px 100px;
  background-color: #F5FAFD;
}

.type-list {
  margin-top: 60px;
}
.type-list__item {
  position: relative;
  padding-top: 15px;
  padding-bottom: calc(23% + 15px);
}
.type-list__item + .type-list__item {
  margin-top: 60px;
}
.type-new {
  width: 20%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.type-list__img {
  width: 51%;
  margin: 0 auto 15px;
  filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
}
.type-list__ttl {
  text-align: center;
  margin-bottom: 10px;
}
.type-list__open {
  position: relative;
  margin-top: 15px;
}
.type-list__open--before,
.type-list__open--after {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	-webkit-animation: patapata 3s linear infinite 0s forwards;
			animation: patapata 3s linear infinite 0s forwards;
}
.type-list__open--before {
	z-index: 2;
	opacity: 1;
}
.type-list__open--after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	-webkit-animation-delay: -1.5s;
			animation-delay: -1.5s;
	opacity: 0;
}
@-webkit-keyframes patapata {
	0% {
		opacity: 1;
		z-index: 2;
	}
	50.5% {
		opacity: 1;
		z-index: 2;
	}
	51% {
		opacity: 0;
		z-index: 0;
	}
	100% {
		opacity: 0;
		z-index: 0;
	}
}
@keyframes patapata {
	0% {
		opacity: 1;
		z-index: 2;
	}
	50.5% {
		opacity: 1;
		z-index: 2;
	}
	51% {
		opacity: 0;
		z-index: 0;
	}
	100% {
		opacity: 0;
		z-index: 0;
	}
}
@media screen and (min-width:768px) {
  .type-txt {
    text-align: center;
  }
  .type-list {
    display: flex;
    justify-content: space-between;
  }
  .type-list__item {
    width: calc((100% - 100px) / 3);
  }
  .type-list__item + .type-list__item {
    margin-top: 0;
  }
  .type-list__img {
    width: 57%;
  }
  .type-list__open {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0;
  }
}

/* --point--*/
.point{
  padding: 90px 40px 30px;
}
.point-list{
  padding-top: 30px;
}
.point-list-item{
  padding-bottom: 70px;
}
.point-list-item__no{
  font-size: 2.0rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  position: relative;
  margin-bottom: 20px;
}
.point-list-item__no::after{
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: #008EC7;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
}
.point-list-item__sttl {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}
.point-list-item__ttl {
  font-size: 2.0rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
}
.point-list__img {
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
}
.point-list__txt{
  margin-top: 20px;
}
.point-list__info{
  background: #F5F5F5;
  margin-top: 20px;
  padding-left: 15px;
  padding-right: 15px;
}
.point-list__info-ttl {
  font-size: 1.4rem;
  font-weight: 700;
}
.point-list__info-txt {
  width: 80%;
  font-size: 1.4rem;
}
.point-list__type .point-list__info-txt {
  width: 100%;
}
.point-list__size:first-of-type,
.point-list__type:first-of-type {
  background-image: none;
}
.point-list__type {
  padding-top: 20px;
  padding-bottom: 20px;
  background-size: 10px 2px;
  background-image: linear-gradient(to right, #707070, #707070 2px, transparent 2px, transparent 10px);
  background-repeat: repeat-x;
}
.point-summary {
  margin-top: 30px;
}
.point-summary__type + .point-summary__type {
  margin-top: 5px;
}
.point-summary__title {
  margin-bottom: 2px;
}
.point-list__flex{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  padding-bottom: 20px;
  background-size: 10px 2px;
  background-image: linear-gradient(to right, #707070, #707070 2px, transparent 2px, transparent 10px);
  background-repeat: repeat-x;
}
.point-list__flex:first-of-type{
  background-image: none;
}
.point-list__flex-icon {
  width: auto;
  height: 46px;
}
.point-list__flex-icon.-passport {
  height: 40px;
}
.point-list__flex-icon.-comic {
  padding-left: 3px;
}
.point-list__flex-txt{
  width: 80%;
  font-size: 1.4rem;
}
.point-type {
  color: #008EC7;
  font-size: 1.4rem;
  line-height: 1.25;
  background-color: #fff;
  border-radius: 999px;
  border: 1px solid #008EC7;
  display: inline-block;
  width: 150px;
  text-align: center;
  padding: 2px 0;
  margin: 2px 0;
}
@media screen and (min-width:768px) {
  #point{
    padding: 0 0 40px;
  }
  .point-inner{
    max-width: 1400px;
  }
  .point-list-item{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
  .point-list-item.-reverse{
    flex-direction: row-reverse;
  }
  .point-list-item:last-of-type {
    padding-bottom: 0;
  }
  .point-list-item__text-area{
    width: 35%;
    margin-top: 24px;
    margin-left: 60px;
  }
  .-reverse .point-list-item__text-area{
    margin-left: 0;
    margin-right: 60px;
  }
  .point-list-item__ttl::after{
    display: none;
  }
  .point-list-item__ttl,
  .point-list-item:nth-child(4) .point-list-item__ttl {
    margin-bottom: 0;
  }
  .point-list__img{
    width: 55.75%;
    max-width: 100%;
    height: 500px;
    margin: 0 0 0 5.75%;
    object-fit: cover;
  }
  .-reverse .point-list__img{
    margin-left: 0;
    margin-right: 5.75%;
    object-position: 100% 0;
  }
  .point-list-item:nth-child(3) .point-list__img,
  .point-list-item:nth-child(4) .point-list__img {
    height: 650px;
    min-height: 500px;
    object-fit: contain;
  }
  .point-list-item:nth-child(7) .point-list__img {
    height: 668px;
  }
  .point-type {
    padding: 3px 0 1px;
  }
}


/* --Howtouse--*/
#howto {
  padding-top: 100px;
  background: #F5FAF5;
}
.howto-bg.-green {
  background: #F5FAF5;
}
.howto-bg.-yellow{
  background: #F9F8F3;
}
.howto-bg.-blue{
  background: #F5FAFD;
}
.-passport.howto-list{
  padding-bottom: 40px;
}
.-comic.howto-list{
  padding: 40px 0;
}
.-square.howto-list{
  padding: 40px 0 60px;
}
.howto-list-item{
  padding: 40px 40px 30px;
}
.howto-list-item__no{
  font-size: 16px;
  color:#008EC7;
  text-align: center;
  margin-bottom: 14px;
}
.howto-list-item__tll{
  font-size: 2.0rem;
  text-align: center;
  margin-bottom: 20px;
}
.howto-img{
  height: 280px;
  margin: 0 auto 20px;
  display: block;
  object-fit: cover;
  object-position: left;
}
.-passport .howto-img{
  width: 186px;
}
.-comic .howto-img{
  width: 186px;
}
.-square .howto-img{
  width: 280px;
}
@media screen and (min-width:768px) {
  #howto {
    padding-top: 140px;
  }
  .howto-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .-passport.howto-list{
    padding-bottom: 0;
  }
  .-comic.howto-list{
    padding: 100px 0 0;
  }
  .-square.howto-list{
    padding: 100px 0 40px;
  }
  .howto-list-item{
    width: 48%;
    padding: 0;
    margin-bottom: 100px;
  }
  .howto-list-item__no{
    margin-bottom: 12px;
  }
  .howto-list-item__tll{
    margin-bottom: 32px;
  }
  .howto-img{
    height: auto;
    margin: 0 auto 20px;
    display: block;
    object-fit: contain;
    object-position: left;
  }
  .-passport .howto-img{
    width: 60%;
  }
  .-comic .howto-img{
    width: 60%;
  }
  .-square .howto-img{
    width: 100%;
  }
  #howto .link-btn{
    width: 47.75%;
  }
}

/*全画面モーダル*/
#howto .modal{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 9999;
  padding: 70px 40px 50px;
  overflow: scroll;
  background: #F9F8F3;
}
#howto .-passport .modal{
  background: #F5FAF5;;
}
#howto .-comic .modal{
  background: #F9F8F3;
}
#howto .-square .modal{
  background: #F5FAFD;
}
#howto .modal-content__inner{
  width: 100%;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
.close-btn{
  display: block;
  width: 55px;
  height: 55px;
  background: #fff;
  border-radius: 50%;
  border: none;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.3);
  position: absolute;
  top: 20px;
  right: 100px;
}
.close-btn::before,
.close-btn::after{
  content: "";
  display: block;
  width: 70%;
  height: 2px;
  background: #008EC7;
  transform: rotate(45deg);
  transform-origin:0% 50%;
  position: absolute;
  top: 25%;
  left: 26%;
}
.close-btn::after{
  transform: rotate(-45deg);
  transform-origin:100% 50%;
  left: auto;
  right: 26%;
}
.close-txt{
  color: #008EC7;
  margin: 40px 0 200px;
  text-align: center;
  cursor: pointer;
}
.close-txt:hover{
  color: #505050;
  transition: all .3s ease;
}
.scroll-txt{
  font-size: 1.2rem;
  color: #909090;
  position: relative;
}
.scroll-txt::before,
.scroll-txt::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0px;
  height: 1px;
  background: #909090;
}
.scroll-txt:before{
  left: -30px;
  width: 90px;
  transform: translate(30px, 0px);
  -webkit-transform: translate(30px, 0px);
  -ms-transform: translate(30px, 0px);
}
.scroll-txt:after{
  left: 45px;
  width: 16px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(25deg);
  -webkit-transform: translate(30px, 0px) rotate(25deg);
  -ms-transform: translate(30px, 0px) rotate(25deg);
}
#howto .modal-content__img{
  width: 90%;
  overflow-x: scroll;
}
.note-img{
  display: block;
  margin: 0 auto 20px;
  max-width: none;
}
.-passport .note-img{
  width: 430px;
}
.-comic .note-img{
  width: 430px;
}
.-square .note-img{
  width: 590px;
}
.modal-content__txt{
  margin-top: 30px;
}

.modal-content__inner .howto-list-item__no,
.modal-content__inner .howto-list-item__tll,
.modal-content__txt,
.close-txt{
  width: 78.6666%;
}

@media screen and (min-width:768px) {
  #howto .modal{
    padding: 100px 0;
  }
  #howto .modal-content__inner{
    max-width: 1200px;
    margin: 0 auto;
  }
  .close-btn{
    top: 40px;
    right: 50px;
  }
  .close-txt{
    margin: 30px 0 180px;
  }
  .scroll-txt{
    display: none;
  }
  #howto .modal-content__img{
    overflow-x: hidden;
    width: 100%;
  }
  .note-img{
    margin: 0 auto;
  }
  .-comic .note-img{
    width: 55.5%;
  }
  .-square .note-img{
    width: 82.5%;
  }
  .modal-content__txt{
    margin: 50px auto 0;
  }
  .modal-content__inner .howto-list-item__no,
  .modal-content__inner .howto-list-item__tll,
  .close-txt {
    width: 100%;
  }
  .modal-content__txt {
    width: 48%;
  }
}


/* --Lineup--*/
#lineup{
  padding: 100px 0;
}
.lineup-list-item{
  margin-bottom: 90px;
  position: relative;
}
.lineup-list-item.-refill {
  background: #F5FAFD;;
  padding: 20px 40px;
}
.lineup-list-item__name{
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.lineup-choice-btn{
  width: 306px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto 15px;
}
.lineup-date {
  font-size: 1.4rem;
  text-align: center;
  position: relative;
  margin-top: 8px;
}
.lineup-new {
  width: 70px;
  margin: 0 auto;
}
.lineup-new img {
  width: 100%;
}
.lineup-sttl {
  font-size: 1.6rem;
  color: #008EC7;
  text-align: center;
  margin: 0 0 40px;
}
.lineup-size {
  margin-bottom: 35px;
}
.lineup-size__ttl {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.lineup-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}
.-passport .lineup-list {
  width: 64%;
}
.-comic .lineup-list {
  width: 78.6%;
}
.lineup-list__img {
  width: calc(87% / 2);
  margin-left: 6.5%;
  margin-bottom: 30px;
  filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
}
.lineup-list__img:nth-of-type(2n+1){
  margin-left: 0;
}
.lineup-list__img:nth-last-of-type(2) {
  margin-bottom: 0;
}
#lineup .link-btn {
  width: calc(100% - 80px);
  max-width: 300px;
  display: block;
}
.choice-btn-list{
  position:relative;
}
.choice-btn-empty {
  width: calc(100% - 255px);
}
.choice-btn-list__icon::after{
  content:"";
  display: block;
  width: 44px;
  height: 44px;
  border: 3px solid #008EC7;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  opacity: 0;
}
.thumbnail-current .choice-btn-list__icon::after{
  opacity: 1;
}
.choice-btn-list__icon{
  border-radius: 50%;
  cursor: pointer;
  width: 40px;
  height: 40px;
  position: relative;
  padding: 5.5px;
}
.choice-btn-list__name{
  font-size: 1rem;
  line-height: 1.25;
  width: 40px;
  padding: 0 2px;
  text-align: center;
  margin: 5px auto 0;
}
.lineup-gallery-product__img{
  display: block;
  margin: 0 auto;
}
.-passport .lineup-gallery-product__img,
.-comic .lineup-gallery-product__img {
  width: 75%;
  margin: 0 5% 0 20%;
}
.-square .lineup-gallery-product__img{
  width: 90%;
}
.-refill .lineup-gallery-product__img{
  display: none;
}
.-refill .lineup-gallery-product__img.-all {
  width: 100%;
  display: block;
}
.lineup-info{
  padding: 0 40px;
  font-size: 1.4rem;
}
.-refill .lineup-info{
  padding: 30px 0 0;
}
.lineup-info__ttl {
  font-weight: bold;
}
.lineup-info__txt{
  line-height: 1.6;
}
.lineup-info__note{
  font-size: 1.2rem;
}
.lineup-info__note.-red {
  color: #F79581;
  line-height: 1;
}
.-refill .lineup-info__price{
  padding: 0;
}
.artist-link{
  word-break: break-all;
  text-decoration-line: underline;
  padding-left: 1em;
}
@media screen and (min-width:768px) {
  #lineup{
    padding: 120px 0;
  }
  .lineup-list{
    display: flex;
    flex-wrap: wrap;
  }
  .lineup-list-item {
    width: 50%;
    padding: 25px 0 0;
    margin-bottom: 100px;
  }
  .lineup-list-item.-refill {
    width: 40%;
    padding: 25px 5% 0;
  }
  .lineup-choice-btn{
    justify-content: flex-start;
    margin-bottom: 25px;
    width: 350px;
  }
  .lineup-date {
    font-size: 1.6rem;
  }
  .lineup-new {
    width: 90px;
  }
  .lineup-sttl {
    font-size: 2.0rem;
  }
  .lineup-list {
    flex-wrap: nowrap;
  }
  .-passport .lineup-list {
    width: 87%;
  }
  .-comic .lineup-list {
    width: 100%;
  }
  .lineup-list__img {
    width: calc(80% / 5);
    margin-left: 5%;
    margin-bottom: 0;
  }
  .lineup-list__img:nth-of-type(3n+1),
  .lineup-list__img:nth-of-type(2n+1)
  {
    margin-left: 5%;
  }
  .lineup-list__img:nth-of-type(1) {
    margin-left: 0;
  }
  .lineup-list__img:nth-last-of-type(2) {
    margin-bottom: 0;
  }
  #lineup .link-btn {
    width: calc(100% - 80px);
    max-width: 300px;
    display: block;
  }
  .choice-btn-list {
    margin-right: calc(14px / 5);
  }
  .choice-btn-list:last-of-type {
    margin-right: 0;
  }
  .choice-btn-empty {
    width: 51px;
  }
  .choice-btn-list__name{
    width: 55px;
    margin-left: -5.5px;
  }
  .lineup-gallery-product__img {
    margin: 0 auto 50px;
  }
  .-passport .lineup-gallery-product__img,
  .-comic .lineup-gallery-product__img {
    width: 100%;
    margin: 0 auto 50px;
  }
  .-square .lineup-gallery-product__img {
    width: 93%;
  }
  .lineup-info{
    padding: 0 70px;
    position: relative;
  }
  .lineup-info__pocket{
    width: 28%;
    position: absolute;
    top: -24px;
    right: 20px;
  }
  .-passport .lineup-info{
    border-right: 2px dotted #707070;
  }
  .-refill .lineup-gallery-product__img {
    margin: 0 0 10px;
  }
  .lineup-info__button > a {
    width: 86px;
    height: 38px;
    font-size: 1.4rem;
  }
  .lineup-info__button > a:hover {
    background-color: #fff;
    border-color: #333;
  }
}
@media screen and (min-width:1000px) {
  .-refill .lineup-gallery-product__img {
    display: block;
    margin-left: -10px;
  }
  .-refill .lineup-gallery-product__img.-all {
    display: none;
  }
  .-refill .lineup-gallery-product__img.-passport {
    margin-top: calc(202.09px - 128.05px);
    width: 93px;
  }
  .-refill .lineup-gallery-product__img.-comic {
    width: 131px;
  }
  .-refill .lineup-gallery-product__img.-square {
    width: 202px;
  }
  .-refill .lineup-info {
    padding: 0 0 50px;
  }
  .-refill .lineup-info__wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .-refill .lineup-info__ec {
    display: block;
  }
  .-refill .lineup-info__ec .ec-head + .ec-body {
    margin-left: 0;
  }
  .-refill .ec-head {
    padding: 10px 0;
  }
  .lineup-choice-btn{
    width: 400px;
  }
  .choice-btn-list {
    margin-right: calc(64px / 5);
  }
}
@media screen and (min-width:1200px) {
  .-refill .lineup-info__wrap {
    justify-content: space-between;
  }
}

/* --lineup slider--*/
.lineup-slider {
  position:relative;
  z-index: 1;
}
.lineup-slider-item {
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover
}
@media screen and (min-width:768px) {
  .lineup-slider {
    width: 82.5%;
    margin: 0 auto;
  }
}

/*lineup slider 矢印の設定*/
#lineup .lu-slide__prev,
#lineup .lu-slide__next {
  position: absolute;
  z-index: 3;
  top: 45%;
  cursor: pointer;
  outline: none;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  height: 16px;
  width: 16px;
}
#lineup .lu-slide__prev {
  left:5%;
  transform: rotate(-135deg);
}
#lineup .lu-slide__next {
  right:5%;
  transform: rotate(45deg);
}
@media screen and (min-width:768px) {
  #lineup .lu-slide__prev,
  #lineup .lu-slide__next {
    outline: none;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    height:40px;
    width: 40px;
  }
}

/*lineup slider dotsnavi*/
.common-slider__dots {
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 3;
  white-space: nowrap;
}
.common-slider__dots li {
  display:inline-block;
  margin:0 3px;
}
.common-slider__dots button {
  background-color: transparent;
  text-indent: -9999px;
  position: relative;
  border: none;
}
.common-slider__dots button::before {
  content: "";
  display: block;
  width:10px;
  height:10px;
  outline: none;
  border: none;
  border-radius:50%;
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-color: #f1f1f1;
}
.common-slider__dots .slick-active button::before{
  background: #008EC7;
}
@media screen and (min-width:768px) {
  .common-slider__dots li {
    margin:0 7.5px;
  }
  .common-slider__dots {
    bottom: 22px;
  }
}

/* --gallery--*/
#gallery{
  padding: 100px 40px 100px;
}
.gallery-list{
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.gallery-list-item.is-hidden {
  opacity: 0;
  height: 0;
  margin: 0;
  display:none;
}
.more-btn{
  margin-top: 40px;
}
.more-btn.is-btn-hidden{
  display:none;
}

@media screen and (min-width:768px) {
  #gallery{
    padding: 140px 65px 140px;
  }
  .gallery-list{
    gap: 48px;
    grid-template-columns: repeat(auto-fit, minmax(264px, 1fr));
  }
}
@media screen and (min-width:1200px) {
  #gallery{
    padding: 140px 0 140px;
  }
}

/* --check--*/
#check{
  padding: 50px 40px;
  background-color: #f9f8f3;
}
.check-catch{
  text-align: center;
  line-height: 1;
  margin-bottom: 20px;
}
@media screen and (min-width:768px) {
  #check{
    padding: 70px 0;
  }
  .check-catch{
    margin-bottom: 30px;
  }
}

/* -------------------------------------
footer
------------------------------------- */
#footer{
  padding-bottom: 16px;
}
#hitotoki {
  padding: 50px 40px;
  background-color: rgba(0, 142, 199, 0.1);
}
.hitotoki-catch {
  text-align: center;
  color: #008EC7;
  line-height: 1.6;
  margin-bottom: 20px;
}
.hitotoki-link-txt{
  width: 106px;
  margin: 0 auto;
  padding: 7.5px 0;
  position: relative;
}
#page-top-btn {
  right: 40px;
  bottom: 0px;
}
#page-top-btn .arrow-link{
  display: block;
  width: 16px;
  height: 16px;
  border: 3px solid;
  border-color: #008EC7 #008EC7 transparent transparent;
  transform: rotate(-45deg);
  transition:all 0.3s;
}
#page-top-btn {
  position: fixed;
  width: 44px;
  height: 44px;
  right: 0px;
  bottom:0px;
  z-index: 1000;
}
.caution-list{
  padding: 50px 40px;
}
.caution-list-item{
  position: relative;
  padding-left: 1.2em;
  font-size: 1.2rem;
}
.caution-list-item > .list_mark {
  position: absolute;
  top: 0;
  left: 0;
}
#copyright{
  font-size: 1.0rem;
  text-align: center;
}
@media screen and (min-width:768px) {
  #footer{
    padding-bottom: 10px;
  }
  #hitotoki {
    padding: 70px 0;
  }
  .hitotoki-catch {
    line-height: 1;
    margin-bottom: 30px;
  }
  .caution-list{
    padding: 50px 100px;
    width: 470px;
  }
  #copyright{
    font-size: 1.2rem;
  }
}
/* 第二弾の際消す ここから　*/
.lineup-new__txt {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 60px;
}
.lineup-new__txt img {
  width: 50px;
}

/*.lineup-list-item.-passport::before {
  content: "";
  display: block;
  width: 56px;
  height: 17px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(/sp/english/hitotoki/hitotokinote/img/lineup_new_icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
}*/
.lineup-info__ttl.-new {
  display: inline;
  position: relative;
}
.lineup-info__ttl.-new::after {
  content: "";
  display: block;
  width: 45px;
  height: 15px;
  position: absolute;
  top: 40%;
  right: -53px;
  transform: translateY(-50%);
  background-image: url(../img/lineup_new_icon2.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width:768px) {
  /*.lineup-list-item.-passport::before {
    top: 0;
  }*/
  .-passport .lineup-choice-btn {
    padding-bottom: 68.5px;
  }
}
/* 第二弾の際消す　END */