@charset "UTF-8";
/* ===============================================================================
Reset
=============================================================================== */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
  display: block;
}

ol,ul {
  list-style: none;
}

blockquote,q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
*,
:before,
:after {
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  border: none;
}
/* ===============================================================================
Body Setting
=============================================================================== */
html {
  font-size: 62.5%;
}
body {
  font-family: 'Koburina Gothic W6 JIS2004',sans-serif;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  line-height: 1.6;
  font-size: 1.5rem;
  color: #333333;
}
.wrapper{
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  body {
    font-size: 1.4rem;
  }
}

a {
  text-decoration: none;
  color: #333333;
}

a:hover {
  opacity: 0.5;
}

.yodogawa a {
  color: #4cff86;
}

/* a[target=_blank]:after {
    font-family: "Hobonichi-Icons";
    content: "\e914";
    font-weight: normal;
    font-size: .8em;
    position: relative;
    top: -.2em;
}*/
img {
  vertical-align: top;
  max-width: 100%;
}
sup{
  font-size: 50%;
}
@media screen and (min-width: 641px) {
  .spOnly {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
}
.cover{
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover';
}
/* ===============================================================================
ContentsArea
=============================================================================== */
.top{
  background-color: #f6cb04;
  padding: 130px 0 50px;
  position: relative;
}
.mv{
  max-width: 1075px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
.top h1{
  background-image: url(../img/ttl_yokoku.png);
  width: 66.8%;
  height: 0;
  padding-top: 20%;
  background-size: contain;
  position: absolute;
  top: -100px;
  left: -8%;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.top .hobo{
  position: absolute;
  top: 10px;
  right: -20px;
  width: 11px;
}
.top .subttl{
  position: absolute;
  bottom: 0;
  right: -9%;
  width: 18.7%;
}
.top .sale{
  position: absolute;
  left: 50%;
  bottom: -15px;
}
.top::after{
  position: absolute;
  display: block;
  content: "";
	bottom: -20px;
	height: 20px;
	left: 0;
  width: 100%;
  background: url(../img/bg-top.png) repeat-x;
  background-size: 90px 20px;
}
.yodogawa{
  background: url(../img/bg-culturen.png) repeat-x;
  background-size: 665px 508px;
  background-position: center center;
  text-align: center;
  padding: 100px 0 80px;
  font-size: 1.6rem;
}
.yodogawa p{
  padding-bottom: 30px;
}
.yodogawa div{
  width: 50%;
  margin: 0 auto; 
}
.contents .ttl{
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.contents .ttl-01{
  background: url(../img/yokoku1_title.png) no-repeat;
  background-size: auto 109px;
  background-position: center center;
  padding-top: 9%;
}
.contents .ttl-05{
  background: url(../img/yokoku2_title.png) no-repeat;
  background-size: auto 109px;
  background-position: center center;
  padding-top: 9%;
}
.contents .ttl-08{
  background: url(../img/yokoku3_title.png) no-repeat;
  background-size: auto 109px;
  background-position: center center;
  padding-top: 9%;
}
.contents h2 + .image{
  padding: 50px 0;
}
#pre2 .contents h2 + .image{
  padding: 50px 0 30px;
}
.contents .ttl-02{
  background: url(../img/yokoku1_1.png) no-repeat;
  background-size: auto 126px;
  background-position: center center;
  padding-top: 10%;
}
.contents .ttl-03{
  background: url(../img/yokoku1_2.png) no-repeat;
  background-size: auto 126px;
  background-position: center center;
  padding-top: 10%;
}
.contents .ttl-04{
  background: url(../img/yokoku1_3.png) no-repeat;
  background-size: auto 128px;
  background-position: center center;
  padding-top: 10%;
}
.contents .ttl-06{
  background: url(../img/yokoku2_1.png) no-repeat;
  background-size: auto 128px;
  background-position: center center;
  padding-top: 9%;
}
.contents .ttl-07{
  background: url(../img/yokoku2_2.png) no-repeat;
  background-size: auto 128px;
  background-position: center center;
  padding-top: 9%;
}
.contents .ttl-09{
  background: url(../img/yokoku3_1.png) no-repeat;
  background-size: auto 126px;
  background-position: center center;
  padding-top: 9%;
}
.contents .ttl-10{
  background: url(../img/yokoku3_2.png) no-repeat;
  background-size: auto 126px;
  background-position: center center;
  padding-top: 9%;
}
.image{
  max-width: 633px;
  margin: 0 auto;
}
.stories{
  max-width: 500px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 30px;
}
.contents .stories + .image{
  padding-bottom: 50px;
}
.text-indent{
  text-indent: -1em;
  display: inline-block;
}
.article{
  max-width: 720px;
  margin: 50px auto 400px;
  position: relative;
}
.article .text{
  max-width: 520px;
  background-color: rgba(255, 255, 0, .7);
  padding: 85px 70px;
}
.article .text p:first-of-type {
  padding: 0 0 2em;
}
.article .image{
  position: absolute;
  right: 0;
  left: 0;
}
.fadeInUp {
  opacity : 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: 1s;
  transition: 1s;
}
#pink .article .text{
  background-color: rgba(219, 125, 89, .7);
  margin-left: 200px;
}
#blue .article .text{
  background-color: rgba(100, 144, 232, .6);
}
#red .article .text{
  background-color: rgba(255, 118, 119, .7);
}
#yellow2 .article .text{
  background-color: rgba(255, 232, 117, .7);
  margin-left: 200px;
}
#purple .article .text{
  background-color: rgba(211, 141, 210, .7);
}
.article.no-image{
  margin: 50px auto;
  padding-left: 100px;
}
.article.no-image .text p:first-of-type {
  padding: 0;
}
#yellow2 .article.no-image .text{
  margin-left: 0;
}
.contents .date{
  text-align: center;
  padding: 50px 0;
}
.model-credit{
  text-align: center;
  font-family: 'Koburina Gothic W3 JIS2004',sans-serif;
  font-size: 1.3rem;
  padding-bottom: 100px;
}
.model-credit h4{
  width:10em; 
  margin: 0 auto;
  color: #4cff86;
  font-size: 1.5rem;
  font-family: 'Koburina Gothic W6 JIS2004',sans-serif;
  position: relative;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.model-credit h4:after {
  content: "";
  width: 15px;
  height: 6px;
  display: block;
  background-size: contain;
  background-image: url(../img/icon-down.png);
  position: absolute;
  right: -1.8em;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.model-credit h4.active:after {
  background-size: contain;
  background-image: url(../img/icon-up.png);
}
.model-credit span{
  font-family: 'Koburina Gothic W6 JIS2004',sans-serif;
  display: block;
}
.model-credit .note {
  display: none;
}
.model-credit .note div{
  padding-top: 1em;
}
.credit{
  background-color: #bfffdf;
  position: relative;
}
.credit:before{
  position: absolute;
  display: block;
  content: "";
	top: -20px;
	height: 20px;
	left: 0;
  width: 100%;
  background: url(../img/bg-credit.png) repeat-x;
  background-size: 90px 20px;
}
.credit p{
  text-align: center;
  padding: 40px 0 70px;
}
@media screen and (max-width: 768px){
  .top {
    padding: 0 0 45px;
  }
  .top::after{
    background-size: 65px 15px;
    bottom: -10px;
    height: 15px;
  }
  .top h1{
    background-image: url(../img/ttl_yokoku_sp.png);
    width: 97%;
    height: 0;
    padding-top: 33%;
    background-size: contain;
    top: 10px;
    left: 3%;
  }
  .top .subttl{
    width: 30%;
    bottom: -40px;
    right: 0;
  }
  .top .sale {
    width: 65%;
    left: 5%;
    bottom: -36px;
  }
  .top .hobo{
    width: 41.6%;
    right: 26%;
    top: 25px;
  }
  .mv img{
    width: 100%;
  }
  .yodogawa {
    background-size: 511px 391px;
    background-position: 60px 160px;
    text-align: center;
    padding: 40px 0;
  }
  .yodogawa p{
    width: 41px;
    margin: 0 auto;
  }
  .yodogawa div{
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
  .contents .ttl-01 {
    background: url(../img/yokoku1_title_sp.png) no-repeat;
    background-size: auto 147px;
    background-position: center center;
    padding-top: 39.466%;
  }
  .contents .ttl-05 {
    background: url(../img/yokoku2_title_sp.png) no-repeat;
    background-size: auto 147px;
    background-position: center center;
    padding-top: 39.466%;
  }
  .contents .ttl-08 {
    background: url(../img/yokoku3_title_sp.png) no-repeat;
    background-size: auto 147px;
    background-position: center center;
    padding-top: 39.466%;
  }
  .contents h2 + .image {
    padding: 25px 0 0;
  }
  .contents .ttl-02 {
    background: url(../img/yokoku1_1_sp.png) no-repeat;
    background-size: 84.8% auto;
    background-position: center center;
    padding-top: 33%;
  }
  .contents .ttl-03 {
    background: url(../img/yokoku1_2_sp.png) no-repeat;
    background-size: 56.8% auto;
    background-position: center center;
    padding-top: 33%;
  }
  .contents .ttl-04 {
    background: url(../img/yokoku1_3_sp.png) no-repeat;
    background-size: 69% auto;
    background-position: center center;
    padding-top: 33%;
  }
  .contents .ttl-06 {
    background: url(../img/yokoku2_1_sp.png) no-repeat;
    background-size: 78% auto;
    background-position: center center;
    padding-top: 35%;
  }
  .contents .ttl-07 {
    background: url(../img/yokoku2_2_sp.png) no-repeat;
    background-size: 91% auto;
    background-position: center center;
    padding-top: 35%;
  }
  .contents .ttl-09 {
    background: url(../img/yokoku3_1_sp.png) no-repeat;
    background-size: 91% auto;
    background-position: center center;
    padding-top: 35%;
  }
  .contents .ttl-10 {
    background: url(../img/yokoku3_2_sp.png) no-repeat;
    background-size: 65% auto;
    background-position: center center;
    padding-top: 35%;
  }
  .contents h3.ttl {
    background-color: #f7f7f7;
    position: relative;
    z-index: 1;
    overflow: visible;
  }
  .contents h3.ttl:after {
    position: absolute;
    display: block;
    content: "";
    bottom: -10px;
    height: 10px;
    left: 0;
    width: 100%;
    background: url(../img/bg-ttl.png) repeat-x;
    background-size: 40px 10px;
  }
  .article{
    max-width: 100%;
    margin: 0 auto;
  }
  .article.no-image{
    margin: 0 auto;
    padding-left: 0;
  }
  .article.no-image .text p:first-of-type{
    padding: 35px 20px 2em;
  }
  .article .text{
    max-width: 100%;
    padding: 0;
    background-color: rgba(255,255,255,1) !important;
  }
  .article .text p:first-of-type{
    padding: 35px 20px 2em;
    background-color: rgba(255, 255, 0, .7);
  }
  .article .image {
    position: relative;
  }
  .image{
    max-width: 100%;
  }
  .contents .stories + .image{
    padding-bottom: 0;
  }
  #pink .article .text{
    margin-left: 0;
  }
  #pink .article .text p:first-of-type{
    background-color: rgba(219, 125, 89, .7);
  }
  #blue .article .text p:first-of-type{
    background-color: rgba(100, 144, 232, .6);
  }
  #red .article .text p:first-of-type{
    background-color: rgba(255, 118, 119, .7);
  }
  #yellow2 .article .text p:first-of-type{
    background-color: rgba(255, 232, 117, .7);
  }  
  #yellow2 .article .text{
    margin-left: 0;
  }
  #purple .article .text p:first-of-type{
    background-color: rgba(211, 141, 210, .7);
  }  
  .model-credit{
    padding-bottom: 60px;
  }
  .credit:before{
    top: -10px;
    height: 10px;
    background-size: 40px 10px;
  }
}
 /* ===============================================================================
FooterArea
=============================================================================== */
.banner-ttl{
  width: 100%;
  background-color: #bfffdf;
  position: relative;
  text-align: center;
  padding: 50px 0;
}
.banner-ttl:before {
  position: absolute;
  display: block;
  content: "";
  top: -20px;
  height: 20px;
  left: 0;
  width: 100%;
  background: url(../img/bg-line_top.png) repeat-x;
  background-size: 90px 20px;
}
.banner-ttl:after {
  position: absolute;
  display: block;
  content: "";
  bottom: -20px;
  height: 20px;
  left: 0;
  width: 100%;
  background: url(../img/bg-line_bottom.png) repeat-x;
  background-size: 90px 20px;
  z-index: -1;
}
.banner-ttl p{
  font-size: 1.6rem;
  padding-top: 25px;
}
.banner-link {
  text-align: center;
  padding: 70px 0 50px;
}
.banner-link a{
  max-width: 560px;
  margin: 0 auto;
  display: block;
  padding-bottom: 20px;
}
footer{
  background-color: #f6c00e;
  position: relative;
}
footer:before{
  position: absolute;
  display: block;
  content: "";
	top: -20px;
	height: 20px;
	left: 0;
  width: 100%;
  background: url(../img/bg-footer.png) repeat-x;
  background-size: 90px 20px;
}
.footer {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding: 120px 0 60px;
  font-weight: bold;
}
.footer .share__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  padding: 45px 0;
}
.footer .share__list li {
  margin-right: 36px;
  font-size: 1.4rem;
}
.footer .share__list li:last-child {
  margin-right: 0;
}
.footer .share__list li a, .footer .share__list li span {
  font-size: 1.4rem;
}
.footer .share__list li img {
  margin-right: 5px;
  vertical-align: middle;
}
.footer__menu {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
}
.footer__menu li a {
  font-size: 1.2rem;
}
.footer__menu li:after {
  content: "／";
  display: inline;
  font-size: 1.2rem;
}
.footer__menu li:last-of-type:after {
  display: none;
}
.footer .copyright {
  display: block;
  padding: 20px 0;
  text-align: center;
  font-size: 1rem;
  letter-spacing: .5em;
}
@media screen and (max-width: 768px){
  .banner-ttl:before {
    top: -10px;
    height: 10px;
    background-size: 40px 10px;
  }
  .banner-ttl:after {
    bottom: -10px;
    height: 10px;
    background-size: 40px 10px;
  }
  footer:before{
    top: -10px;
    height: 10px;
    background-size: 40px 10px;
  }
}
@media screen and (max-width: 640px){
  .banner-ttl{
    padding: 25px 0;
  }
  .banner-ttl img{
    width: 80%;
    margin: 0 auto;
  }
  .banner-ttl p{
    font-size: 1.3rem;
    padding-top: 15px;
  }
  .banner-link{
    padding: 40px 0 20px;
  }
  .banner-link a{
    width: 90%;
    margin: 0 auto;
  }
  .footer {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 60px 0;
  }
  .footer .share__list {
    width: 80%;
    margin: 0 auto;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    padding: 25px 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .footer .share__list li a, .footer .share__list li span {
    font-size: 1.3rem;
    letter-spacing: .04em;
  }
  .footer .share__list li {
    width: 50%;
    margin-right: 0;
    font-size: 1.3rem;
    margin-bottom: 15px;
  }
  .footer__menu li:after{
    display: none;
  }
  .footer__menu {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
  .footer__menu li {
    text-align: center;
    line-height: 1.5;
  }
  .footer .copyright {
    display: block;
    padding: 20px 0;
    text-align: center;
    font-size: 1rem;
    letter-spacing: .5em;
  }
}