@charset "UTF-8";
html{
  font-size: 100%;
}
body {
  background-color: #fefbf5;
  display: flex;
  flex-flow: column;
  font-family: 'Kosugi Maru', sans-serif;
  color: #464625;
  font-size: 1rem;
  line-height: 1.8em;
  letter-spacing: 0.05em;
  margin: 0;
  min-height: 100vh;
}
a{
  text-decoration: none;
  color: #464625;
}
img{max-width: 100%;}
*, *::before, *::after{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
h2{margin: 30px 0;}
.rogo {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  margin: 30px 0;
}
.rogo h1{
  font-size: 1.2rem;
  letter-spacing: 0.01em;
  margin: 0;
}
.leaf{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 5px;
}
.l1,.l2,.l3{
  width: 40px;
  height: 50px;
  border-radius: 0 100px;
  transform: rotate(80deg);
}
.l1{
  background: #5da67f;
}
.l2{
  background: #69b792;
  left: 20px;
  opacity: 0.8;
}
.l3{
  background: #69b792;
  opacity: 0.5;
}
.sankaku-midasi{
  position: relative;
  padding-left: 20px;
  margin: 40px 0 20px;
}
.sankaku-midasi::before{
  border-radius: 5px;
  position: absolute;content: ''; width: 8px;
  height: 8px;
  border-left: 8px solid #5da67f;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
rt{font-size: 40%;}
.chui{
  padding-bottom: 5px;
  background: linear-gradient(transparent 70%, #FFAB0B 70%);
  border-radius:4px;
}
.rogo img{width: 180px;}
.yoko{display: flex;}
.syoukai{
  width: 150px;
  height: 150px;
  object-fit: cover;
  margin: 5px;}
.menu,.menu ul,.container,.top_content,.update,.update-desc,.content,.hanyou_setumei{width: 100%;}
.rogo,.menu li,.btn,.link,.update-desc dt,.hako{text-align: center;}
.menu{
  display: flex;
  justify-content: center;
}
.menu ul{
  list-style: none;
  display: flex;
  padding-left: 0;
  justify-content: center;
}
.menu li{
  width: 5%;}
.menu a{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 13px;
  color: #5da67f;
}
.m_icon{
  width: 45px;
  height: 45px;
  border: 1px solid #5da67f;
  border-radius: 50%;
  position: relative;
}
.m_icon::before{
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 25px;
  height: 25px;
  background-color: #5da67f;
  -webkit-mask-size: cover;
}
.home::before,.s-home::before{
  top: 2px;
  -webkit-mask: url(../images/ie.svg) no-repeat;
  mask: url(../images/ie.svg) no-repeat;
}
.hude::before,.s-hude::before{
  left: 8px;
  -webkit-mask: url(../images/hude.svg) no-repeat;
  mask: url(../images/hude.svg) no-repeat;
}
.log::before,.s-log::before{
  top: 2px;
  left: 3px;
  -webkit-mask: url(../images/memo.svg) no-repeat;
  mask: url(../images/memo.svg) no-repeat;
}
.img::before,.s-img::before{
  top: 2px;
  left: 3px;
  -webkit-mask: url(../images/img.svg) no-repeat;
  mask: url(../images/img.svg) no-repeat;
}
.tag::before,.s-tag::before{
  top: 2px;
  left: 3px;
  -webkit-mask: url(../images/tag.svg) no-repeat;
  mask: url(../images/tag.svg) no-repeat;
}
.manga::before,.s-manga::before{
  top: 2px;
  left: 3px;
  -webkit-mask: url(../images/comic.svg) no-repeat;
  mask: url(../images/comic.svg) no-repeat;
}
.info::before,.s-info::before{
  top: 2px;
  left: 3px;
  -webkit-mask: url(../images/info.svg) no-repeat;
  mask: url(../images/info.svg) no-repeat;
}
.mail::before,.s-mail::before{
  top: 2px;
  left: 3px;
  -webkit-mask: url(../images/mail.svg) no-repeat;
  mask: url(../images/mail.svg) no-repeat;
}
.hukidasi::before,.s-hukidasi::before{
  top: 2px;
  left: 3px;
  -webkit-mask: url(../images/hukidasi.svg) no-repeat;
  mask: url(../images/hukidasi.svg) no-repeat;
}
.menu li:hover .m_icon,.btn:hover{opacity: 0.7;}
.menu li:hover a{color: #5da67f;}
.koko{
  font-weight: bold;
  position: relative;
}
.koko::after{
  border-radius: 5px;
  position: absolute;content: ''; width: 8px;
  height: 8px;
  border-top: 8px solid #5da67f;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  left: 0;
  right: 0;
  bottom: -5px;
  margin: auto;
}
.koko .m_icon{background: #5da67f;}
.koko .m_icon::before{background-color: #fefbf5;}
.container{
  width: 1200px;
  flex: 1;
  overflow: hidden;
  padding: 10px;
  margin: 0 auto;
}
.top_content,.content{margin: 100px auto 150px;}
.box{margin: 30px auto 60px;}
.midasi{
  position: relative;
  font-size: 1.5em;
  border-bottom: 1px solid #5da67f;
  margin: 50px 0;
}
.midasi span{
  margin-left: 30px;
  font-size: 13px;
  color: #69b792;
}
.i_midasi{
  font-size: 1.3em;
  position: relative;
  display: inline-block;
}
.p_text{
  text-align: justify;
  text-justify: inter-ideograph;
  margin-bottom: 30px;
}
.update-desc,.hanyou-desc{
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  margin: 0 auto;
}
.hanyou-desc{
  width: 100%;
  padding: 0 10px;
}
.update-desc{
  border: 1px solid #69b792;
  border-radius: 10px;
  padding: 15px;
}
.update-desc dt,.hanyou-desc dt{
  width: 20%;
  color: #5da67f;
}
.update-desc dt,.update-desc dd{
  margin: 5px 0;
  padding: 5px;
  border-bottom: 1px dashed #69b792;
}
.update-desc dt{margin-left: 20px;}
.update-desc dd{
  padding-left: 10px;
  margin-right: 20px;
}
.update-desc dd,.hanyou-desc dd{
  width: 70%;
  margin-left: 0;
}
.hanyou-desc dd{
  width: 80%;
  margin-left: 0;
}
.hanyou-desc dt,.hanyou-desc dd{padding: 10px;}
.hanyou-desc dt,.hanyou-desc dd{border-bottom: 1px dashed #69b792;}
.update-desc dt:last-of-type,.update-desc dd:last-of-type,.hanyou-desc dt:last-of-type,.hanyou-desc dd:last-of-type{border-bottom: none;}
.icon{
  position: relative;
  padding: 10px 10px 10px 30px;
}
.icon::before{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  content: '';
  width: 20px;
  height: 20px;
  background-color: #69b792;
}
.ao::before{background-color: #036be8;}
.aka::before{background-color: red;}
.kuro::before{background-color: #212121;}
.s-hude::before{left: 4px;}
.s-log::before{left: 2px;}
.link_b{
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 30px auto;
}
.link_b a{
  width: 200px;
  height: 40px;
  margin: 2%;
}
.link_b img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.illust{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 50px 0;
}
.illust a,.new{
  width: 180px;
  height: 180px;
  position: relative;
}
.new::before{
  position: absolute;
  content: '';
  background: #FFAB0B;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-radius: 100px;
  z-index: 5;
}
.new::after{
  position: absolute;
  content: 'NEW';
  color: #fefbf5;
  z-index: 10;
  top: 10px;
  left: 12px;
}
.illust img{
  width: 100%;
  height: 100%;
  border-radius: 100%;
  object-fit: cover;
}
.illust .text_icon{
  width: 160px;
  height: 200px;
}
.text_icon img{
  border-radius: 5px;
}
.hover_text{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.65);
  color: #fefbf5;
  opacity: 0;
  transition: .3s ease-in-out;
  border-radius: 100%;
}
.text_icon .hover_text{
  border-radius: 5px;
}
.hover_text p{
  font-size: 13px;
  padding: 20px;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.illust a:hover .hover_text{opacity: 1;}
.bokasi img{
  -ms-filter: blur(4px);
	filter: blur(4px);
}
.no-image{
  position: relative;
  background: #e0e0e0;
}
.no-image::after{
  position: absolute;
  content: 'NO IMAGE';
  font-size: 25px;
  font-weight: bold;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  color: #a0a0a0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.link{
  display: inline-block;
  color: #EF7D3C;
  border-bottom: 1px dashed #EF7D3C;
  padding:0 5px;
}
.btn{
  margin: 50px 0;
  background: #5da67f;
  padding: 8px 22px;
  color: #fefbf5;
  border-radius: 100px;
}
.center{margin-left: auto;margin-right: auto;}
.betutabu{
  position: relative;
  padding-right: 18px;
  margin: 0 5px;
}
.betutabu::after{
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  background-color: #EF7D3C;
  -webkit-mask-size: cover;
  -webkit-mask: url(../images/betutabu.svg) no-repeat;
  mask: url(../images/betutabu.svg) no-repeat;
}
  #fade{
    animation-name: fadeup;
    animation-duration: 0.5s;
  }
  @keyframes fadeup {
    from {
      opacity: 0;
      transform: translateY(35px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
  }
  .memo,.pagenavi{width: 100%;}
  .memo_all{
    width: 70%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .memo{
    border-bottom: 1px solid #69b792;
    padding: 10px 20px;
  }
  time{
    margin: 0;
    color: #69b792;
    font-weight: bold;
  }
  .m_img{
    width: 70%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px auto;
    flex-wrap: wrap;
    padding: 20px;
  }
  .m_img a{
    flex: 1 1 30%;
    margin: 2%;
    height: 250px;
    text-align: center;
  }
  .m_img img{
    flex: 1 1 30%;
    margin: 2%;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .pagenavi{
    margin: 50px auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p_list{
    border: 1px solid #5da67f;
    display: block;
    width: 30px;
    height: 30px;
    margin: 0 5px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
    ;color: #5da67f;
  }
  .prev,.prev2,.next{
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  margin: auto;
  width: 7px;
  height: 7px;
  border-right: 1px solid #5da67f;
  border-bottom: 1px solid #5da67f;
}
  .prev,.prev2{
    left: 12px;
    transform: rotate(135deg);
  }
  .prev2:nth-child(1){left: 8px;}
  .prev2:nth-child(2){left: 15px;}
  .next{
    right: 12px;
    transform: rotate(-45deg);
  }
  .here{
    background: #5da67f;
    color: #fefbf5;
  }
  .hide{display: none;}
  .character{width: 100%;}
  .c_inner{
    width: 100%;
    margin: 50px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
  }
  .setumei{
    position: relative;
    width: 100%;
    height: 100%;
  }
  .right h3{text-align: right;}
  .left .setumei{padding-left: 200px}
  .right .setumei{padding-right: 200px;}
  .left .setumeibun{margin-left: 20px;}
  .right .setumeibun{margin-right: 20px;}
  .midori{background: rgba(200,225,210,0.6);}
  .kiiro{background: rgba(255,228,175,0.6);}
  .pink{background: rgba(229,182,197,0.35);}
  .mizuiro{background: rgba(174,205,221,0.35);}
  .setumeibun{
    height: 100%;
    border-radius: 25px;
    padding: 10px;
    font-size: 15px;
    overflow: hidden;
  }
  .character-iconL,.character-iconR{
    position: absolute;
    top: 0;
    bottom: 0;
    width: 200px;
    height: 200px;
  }
  .character-iconL{left: 0;}
  .character-iconR{right: 0;}
  .character-iconL img,.character-iconR img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .illust_all,.pagenavi,.illut_tenji{width: 100%;}
  .illust_all,.pagenavi,.pre_next{margin: 80px auto;}
  .illust_all{
    display: grid;
    grid-template-columns: 180px 180px 180px 180px;
    grid-template-rows: 180px 180px;
    justify-content: space-between;
    align-items: space-between;
    row-gap: 50px;
  }
  .illust_all a{position: relative;}
  .illust_all img{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;}
  .illust_all a:hover .hover_text{opacity: 1;}
  .comic img{margin: 50px 0;}
  .pagenavi{
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p_list{
    border: 1px solid #5da67f;
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    margin: 0 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    color: #5da67f;
  }
  .prev,.next{
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid #5da67f;
  border-bottom: 2px solid #5da67f;}
  .prev{
    left: 10px;
    transform: rotate(135deg);
  }
  .next{
    right: 10px;
    transform: rotate(-45deg);
  }
  .here{
    background: #5da67f;
    color: #fefbf5;
  }
  .illust_tenji{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
  }
  .p_text2{margin-bottom: 50px;}
  .text{
    width: 100%;
    margin: 0 auto;
  }
  .text p{text-indent: 1em;}
  .tate{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    column-count: 2;
    column-rule: solid 1px #ccc;
    column-gap: 2.5rem;
    overflow: auto;
    height: 500px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .tate span{
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
  }
  time{
    color: #5da67f;
    margin-bottom: 50px;
  }
  .pre_next{
    display: flex;
    justify-content: space-around;
  }
  .p_link,.n_link{
    display: flex;
    align-items: center;
    color: #5da67f;
  }
  .p_link img{margin-left: 10px;}
  .n_link img{margin-right: 10px;}
  .p_link img,.n_link img{
    width: 100px;
    height: 100px;
    border-radius: 50%;
  }
  .p_link:hover,.n_link:hover{opacity: 0.7;}
#tpbtn{
  position: fixed;
  z-index: 10;
  cursor: pointer;
  transition: ease .3s opacity;
  right: 5%;
  bottom: 10%;
}
#topbtn{
  position: absolute;
  background: #5da67f;
  color: #fefbf5;
  display: block;
  border-radius: 50%;
  right: 10%;
  bottom: -30px;
  width: 70px;
  height: 70px;
  padding: 5px;
  transition: .3s;
}
#topbtn::after{
  position: absolute;
  content: "";
	display: block;
  top: 19px;
  bottom: 0;
  left: 0;
  right: 0;
	width: 13px;
	height: 13px;
  margin: auto;
	border-right: 3px solid #fefbf5;
	border-bottom: 3px solid #fefbf5;
	transform: translateY(-50%) rotate(225deg);
}
.item, .item_c,input[type="text"],input[type="email"],textarea{
  width: 100%;
}
.item,.radio,.check,.hissu,.check dd label::before,.radio dd label::before{color: #464625;}
.toiawase{text-align: left;width: 80%;margin: 0 auto;}
.item,.check,.radio{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.item dt,.check dt,.radio dt,.check dd,.radio dd,textarea,.item dd{margin: 20px 0;}
.check input[type='checkbox'],.radio input[type='radio']{
  position: absolute;
	z-index: -1;
	opacity: 0;
}
.check dd label,.radio dd label{
  position: relative;
  display: inline-block;
	margin-right: 30px;
	padding-right: 10px;
	padding-left: 35px;
	cursor: pointer;
}
.check dd label::before,.check dd label::after,.radio dd label::before,.radio dd label::after{
  position: absolute;
  display: block;
  content: '';
}
.check dd label::before,.radio dd label::before{
	top: 0;
	left: 0;
  bottom: 0;
  margin: auto;
	width: 24px;
	height: 24px;
	border: 2px solid #69b792;
  color: #fefbf5;
  border-radius: 3px;
}
.check dd label::after{
  border-bottom: 2px solid #fefbf5;
  border-left: 2px solid #fefbf5;
  opacity: 0;
  height: 10px;
  width: 15px;
  transform: rotate(-45deg);
  top: 7px;
  left: 4.5px;
  margin: auto;
}
.radio dd label::before{
  border-radius: 100%;
}
.radio dd label::after{
  opacity: 0;
  height: 12px;
  width: 12px;
  background: #69b792;
  border-radius: 100%;
  top: 30%;
  left: 6px;
}
.check input[type='checkbox']:checked + label::before{
  top: 0;
	background: #69b792;
}
.check input[type='checkbox']:checked + label::after,.radio input[type='radio']:checked + label::after{opacity: 1;}
.check dd label,.check dd label::before,.radio dd label,.radio dd label::after{
  -webkit-transition: 0.25s all ease;
	        transition: 0.25s all ease;
}
.inputs,textarea{
  background: #fff;
  font-size: 1rem;
  border: 2px solid #5da67f;
  transition: 0.3s;
}
input[type="text"],input[type="email"],textarea{padding: 10px;}
.inputs:focus,textarea:focus{
  background: rgba(192,225,197,0.38);
  outline: none;
}
textarea{height: 200px;}
.hissu,.nini{
  margin-left: 15px;
  padding: 5px;
  color: #fefbf5;
  font-weight: bold;
  background: #FFAB0B;
  border-radius: 3px;
}
.nini{
  background: none;
  border: 1px solid #5da67f;
  color: #5da67f;
}
button{
  border: none;
  text-decoration: none;
  background-image: none;
  -webkit-appearance: none;
  cursor: pointer;
  font-size: 1rem;
  font-family: 'Kosugi Maru', sans-serif;
  display: block;
}
.fade-in {
  animation-name: fade-in;
    animation-duration: 0.5s;
}
@keyframes fade-in {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.submit{position: relative;}
footer{
  display: flex;
  justify-content: center;
}
footer small{
  color: #666666;
  font-size: 0.6em;
}
@media screen and (max-width: 1370px){
  .container{width: 1000px;}
  .menu li{width: 8%;}
}
@media screen and (max-width: 1024px){
  .container{width: 950px;}
}
@media screen and (max-width: 768px){
  .container{width: 100%;}
  .top_content,.content{margin: 30px auto 150px;}
  .menu ul{flex-wrap: wrap;}
  .menu li{
    margin-bottom: 20px;
    width: 25%;
  }
  .update-desc{width: 100%;}
  .hanyou-desc{padding: 0;}
  .hanyou-desc dt,.update-desc dt{width: 30%;}
  .icon{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0 10px 30px;
  }
  .update-desc dt{
    border: none;
    text-align: left;
    margin-left: 0;
    padding-left: 0;
  }
  .update-desc dd{
    width: 100%;
    margin-right: 0;
    padding-left: 0;
  }
  .hanyou-desc dd{width: 70%;}
  .link_b{flex-direction: column;}
  .illust{
    scroll-snap-type: x;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    flex-wrap: nowrap;
    justify-content: flex-start;
     width: 100vw;
     padding: 15px calc(50vw - 50% + 20px);}
  .illust a{
    width: 150px;
    height: 150px;
    scroll-snap-align: start;
    flex-shrink: 0;
    margin: 0 10px;
  }
  .hover_text p{padding: 30px;}
  .memo_all,.m_img{width: 100%;}
  .m_img a{width: 150px; height: 150px;}
  .c_inner{height: auto;}
  .c_inner,.setumei{width: 100%;}
  .left .setumei,.right .setumei{padding-top: 190px;}
  .left .setumei{padding-left: 0;}
  .right .setumei{padding-right: 0;}
  .left .setumeibun{margin-left: 0;}
  .right .setumeibun{margin-right: 0;}
  .setumeibun{height: 350px;}
  .character-iconL,.character-iconR{height: 180px;}
  .character-iconL img,.character-iconR img{width: 180px;}
  .character-iconR{text-align: right;}
  .illust_all{
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
  }
  .illust_all a{
    width: 150px;
    height: 150px;
  }
  .p_link img,.n_link img{
    width: 70px;
    height: 70px;
  }
  .toiawase{width: 100%;}
  .item{align-items: flex-start;}
  .item dd,.check dd,.radio dd{
    display: flex;
    flex-direction: column;
  }
  .item_c dd button {margin: 15px;}
  .item dt,.item dd{width: 100%;}
}
