@charset "UTF-8";

/*! sanitize.css v8.0.0 | CC0 License | github.com/csstools/sanitize.css */

*, :before, :after {
  background-repeat: no-repeat;
  box-sizing: border-box
}

:before, :after {
  text-decoration: inherit;
  vertical-align: inherit
}

html {
  cursor: default;
  line-height: 1.15;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

hr {
  height: 0;
  overflow: visible
}

main {
  display: block
}

nav ol, nav ul {
  list-style: none
}

pre {
  font-size: 1em
}

a {
  background-color: transparent
}

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-size: 1em
}

small {
  font-size: 80%
}

audio, canvas, iframe, img, svg, video {
  vertical-align: middle
}

audio, video {
  display: inline-block
}

audio:not([controls]) {
  display: none;
  height: 0
}

img {
  border-style: none
}

svg:not([fill]) {
  fill: currentColor
}

svg:not(:root) {
  overflow: hidden
}

table {
  border-collapse: collapse
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}

button, input, select {
  margin: 0
}

button {
  overflow: visible;
  text-transform: none
}

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button
}

fieldset {
  padding: .35em .75em .625em
}

input {
  overflow: visible
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

progress {
  display: inline-block;
  vertical-align: baseline
}

select {
  text-transform: none
}

textarea {
  margin: 0;
  overflow: auto;
  resize: vertical
}

[type=checkbox], [type=radio] {
  padding: 0
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: .54
}

::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

::-moz-focus-inner {
  border-style: none;
  padding: 0
}

:-moz-focusring {
  outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
  box-shadow: none
}

details {
  display: block
}

dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content
}

dialog:not([open]) {
  display: none
}

summary {
  display: list-item
}

canvas {
  display: inline-block
}

template {
  display: none
}

a, area, button, input, label, select, summary, textarea, [tabindex] {
  touch-action: manipulation
}

[hidden] {
  display: none
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled=true], [disabled] {
  cursor: not-allowed
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute
}

html {
  font-size: 62.5%;
  font-family: 'A1 Gothic M',sans-serif;
  width: 100%;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

body {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  font-size: 1.6rem;
}
body::before {
    background:url(../img/bg_1.jpg) no-repeat center center;
    background-size: cover;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -1;
}
html, body {
  min-width: 100%;
  height: 100%
}

h1, h2, h3, h4, h5, h6, div, span, p, ul, ol, li, dd, small, a {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: .1em;
  list-style-type: none;
  word-break: normal;
  position: relative;
  font-weight: 400;
  z-index: 2
}

a{
  text-decoration: none;

}

a:hover {
  opacity: .7;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 400
}

.spOnly{
    display: none;
}
.hide{
  opacity: 0;
}
.bg {
  background-size: cover;
  background-position: top center;
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.bg-bk {
  background-color: rgba(0,0,0,.7);
}
.top {
  z-index: 10;
}
.bg-1-haramaki {
  position: absolute;
  bottom: 18.677vh;
  left: 5.4vw;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
          animation: fadeIn 2s ease 0s 1 normal;
}

.bg .logo {
  position: absolute;
  left: 50%;
  top: 2.8vh;
  transform: translateX(-50%);
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
          animation: fadeIn 2s ease 0s 1 normal;
}

.bg .bg-1-haramaki2 {
  position: absolute;
  top: 27.5vh;
  right: 4.5vw;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
          animation: fadeIn 2s ease 0s 1 normal;
}

.bg .btn_down {
  text-align: center;
  padding-top: 14px;
}

@-webkit-keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}

.fade > div{
  opacity: 0;
  transition: all .5s ease-out;
}

.fade2 > div{
  transition: all 1.2s ease-out .8s;
}

.fade.active > div{
  opacity: 1;
  transition-delay: .8s;
}

#yodogawa {
  background-color: rgba(234, 255, 62, .6);
}

#yodogawa .txt {
  font-family: 'A1 Gothic R',sans-serif;
  background-color: rgba(255, 255, 255, 1);
  max-width: 580px;
  width: 90%;
  margin: 0 auto;
  padding: 1em 0 1em 90px;
  text-align: left;
}
@media screen and (min-width: 768px){
  a .btn{
    transition: all .3s;
    width: 138px;
    margin: 15px auto 0;
  }
  a:hover .btn{
    background-color: rgba(234, 255, 62, .3);
  }
}
@media screen and (max-height: 768px){
  #yodogawa {
    overflow-y: scroll;
    height: auto;
  }  
  #yodogawa .txt {
    margin: 3em auto;
    padding: 2em 0 2em 90px;
    transform: initial;
    position: relative;
    top: 0;
    left: 0;
  }
}

.txt {
  width: 95%;
  max-width: 600px;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.products {
  position: absolute;
  text-align: center;
}
.products a {
  color: #000;
}
.products .name {
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
}
.products .name .name.en {
  font-size: 2.1rem;
}
.products .name small{
  font-size: 1.4rem;
  display: block;
}
.btn{
  margin-top: 15px;
}
.products__item a {
  display: block;
  text-align: center
}

.products__item a img {
  width: 100%;
  display: block;
  margin: 0 auto 20px
}
@media(min-width:769px) {
  .bg-2 {
    background-image: url(../img/bg_2.jpg)
  }
  .bg-2 .products{
    top: 54.5vh;
    left: 12.833vw;
  }
  .bg-3 {
    background-image: url(../img/bg_3.jpg)
  }
  .bg-3 .products{
    top: 48vh;
    left: 38vw;
  }
  .bg-4 {
    background-image: url(../img/bg_4.jpg)
  }
  .bg-4 .products{
    top: 33.425vh;
    right: 14.4vw;
  }
  .bg-5 {
    background-image: url(../img/bg_5.jpg)
  }
  .bg-5 .products{
    top: 37.25vh;
    right: 11.41vw;
  }
  .bg-6 {
    background-image: url(../img/bg_6.jpg)
  }
  .bg-6 .products{
    top: 29.875vh;
    left: 20vw;
  }
  .bg-7 {
    background-image: url(../img/bg_7.jpg)
  }
  .bg-7 .products{
    top: 18.375vh;
    left: 50%;
    transform: translateX(-50%);
  }
  .bg-8 {
    background-image: url(../img/bg_8.jpg)
  }
  .bg-8 .products{
    top: 41.125vh;
    left: 50%;
    transform: translateX(-50%);
  }
  .bg-9 {
    background-image: url(../img/bg_9.jpg)
  }
  .bg-9 .products{
    top: 59.75vh;
    left: 11.2vw;
  }
  .bg-10 {
    background-image: url(../img/bg_10.jpg)
  }
  .bg-10 .products{
    top: 49.75vh;
    left: 15.333vw;
  }
  .bg-11 {
    background-image: url(../img/bg_11.jpg)
  }
  .bg-11 .products{
    top: 37.9vh;
    right: 17.666vw;
  }
  .bg-12 {
    background-image: url(../img/bg_12.jpg)
  }
  .bg-12 .products{
    top: 6.75vh;
    left: 28vw;
  }
  .bg-13 {
    background-image: url(../img/bg_13.jpg)
  }
  .bg-13 .products{
    top: 36vh;
    right: 17.5vw;
  }
  .bg-14 {
    background-image: url(../img/bg_14.jpg)
  }
  .bg-14 .products{
    top: 31.375vh;
    left: 17.3vw;
  }
}
.info {
  background-image: url(../img/bg.jpg);
  background-size: cover;
  background-position: center center;
}
.staff {
  background-color: rgba(45, 45, 45, .65);
  padding: 40px;
}
.staff h2 {
  text-align: center;
  padding-bottom: 40px;
}
.staff .staff_txt {
  max-width: 280px;
  width: 61.33vw;
  margin: 0 auto;
  padding: 30px 0 30px 50px;
  background-color: rgba(255, 255, 255, .8);
  font-size: 1.4rem;
  line-height: 2.78;
  letter-spacing: 0;
}
.link {
  padding: 5px 0;
  text-align: center;
}
.link a {
  display: block;
  width: 367px;
  margin: 15px auto;
  font-size: 1.8rem;
  background-color: rgba(255,255,255,.8);
  border-radius: 30px;
  padding: .5em 0;
  color: #1e1e1e;
  font-feature-settings: "palt";
}
footer {
  background-color: #fff;
  padding: 50px 0 35px
}

footer .share {
  margin: 0 auto 27px;
  display: flex;
  justify-content: center;
}

footer .share a {
  font-size: 1.8rem;
  color: #1e1e1e;
}
footer .share div.mail {
  margin-left: 15px;
}
footer .share div.mail::after {
  content: '/';
  font-size: 1.8rem;
  margin: 0 0.2em;
}
footer .share__item {
  padding: 0 10px;
}
footer .footer__links-store {
  display: flex;
  justify-content: center;
  margin-bottom: 23px
}

footer .footer__links-store a {
  text-decoration: none;
  font-size: 1.2rem;
  font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;
  color: #000
}

footer .footer__links-store a:after {
  content: "／";
  display: inline;
  font-size: 1.3rem
}

footer .footer__links-store li:last-child a:after {
  content: none
}

footer small {
  display: block;
  text-align: center
}
@media(max-width:768px) {
  body::before {
    background: url(../img/bg_1_sp.jpg) no-repeat top center;
    background-size: cover;
    font-size: 1.4rem;
  }
  img {
    width: 100%;
  }
  .pcOnly{
      display: none;
  }
  .spOnly{
      display: block;
  }
  br:not(.sp-br) {
    display: none;
  }
  .bg {
    background-size: cover;
    background-position: center center;
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
  }
  .bg-1-haramaki {
    bottom: 10.5vw;
    left: 7vw;
  }
  .bg .bg-1-haramaki2 {
    width: 46.072vw;
    position: absolute;
    top: 16.5vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .bg .btn_down {
    position: absolute;
    width: 34px;
    right: 34px;
    bottom: 10.5vw;
  }
  .bg .logo {
    width: 35.2vw;
    top: 2.8vw;
  }
  #yodogawa {
    padding: 45px 0;
  }
  #yodogawa .txt {
    margin: 0 auto;
    padding: 2em 1.5em;
    font-size: 1.6rem;
  }
  .txt {
    width: 93.333%;
  }
  .txt.staff{
    width: 66%;
  }
  .bg-2 {
    background-image: url(../img/bg_2_sp.jpg)
  }
  .bg-2 .products{
    top: 75vh;
    top: calc(var(--vh, 1vh) * 75);
    left: 15.2vw;
  }
  .bg-3 {
    background-image: url(../img/bg_3_sp.jpg)
  }
  .bg-3 .products{
    top: 78.769vh;
    top: calc(var(--vh, 1vh) * 78.769);
    left: 50%;
    transform: translateX(-50%);
  }
  .bg-4 {
    background-image: url(../img/bg_4_sp.jpg)
  }
  .bg-4 .products{
    top: 9.69vh;
    top: calc(var(--vh, 1vh) * 9.69);
    left: 50%;
    transform: translateX(-50%);
  }
  .bg-5 {
    background-image: url(../img/bg_5_sp.jpg)
  }
  .bg-5 .products{
    top: 10.8vh;
    top: calc(var(--vh, 1vh) * 10.8);
    left: 18.84vw;
  }
  .bg-6 {
    background-image: url(../img/bg_6_sp.jpg)
  }
  .bg-6 .products{
    top: 26.461vh;
    top: calc(var(--vh, 1vh) * 26.461);
    left: 9.333vw;
  }
  .bg-7 {
    background-image: url(../img/bg_7_sp.jpg)
  }
  .bg-7 .products{
    top: 11.5vh;
    top: calc(var(--vh, 1vh) * 11.5);
    right: 11.666vw;
  }
  .bg-8 {
    background-image: url(../img/bg_8_sp.jpg)
  }
  .bg-8 .products{
    top: 50%;
    margin-top: -4vh;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
  .bg-9 {
    background-image: url(../img/bg_9_sp.jpg)
  }
  .bg-9 .products{
    top: 76.461vh;
    top: calc(var(--vh, 1vh) * 76.461);
    right: 15.666vw;
  }
  .bg-10 {
    background-image: url(../img/bg_10_sp.jpg)
  }
  .bg-10 .products{
    top: 27.23vh;
    top: calc(var(--vh, 1vh) * 27.23);
    left: 5.941vw;
  }
  .bg-11 {
    background-image: url(../img/bg_11_sp.jpg)
  }
  .bg-11 .products{
    top: 64.3vh;
    top: calc(var(--vh, 1vh) * 64.3);
    left: 7.333vw;
  }
  .bg-12 {
    background-image: url(../img/bg_12_sp.jpg)
  }
  .bg-12 .products{
    top: 61.846vh;
    top: calc(var(--vh, 1vh) * 61.846);
    right: 10.133vw;
  }
  .bg-13 {
    background-image: url(../img/bg_13_sp.jpg)
  }
  .bg-13 .products{
    top: 73.846vh;
    top: calc(var(--vh, 1vh) * 73.846);
    left: 10.266vw;
  }
  .bg-14 {
    background-image: url(../img/bg_14_sp.jpg)
  }
  .bg-14 .products{
    top: 7vh;
    top: calc(var(--vh, 1vh) * 7);
    left: 50%;
    transform: translateX(-50%);
  }
  .products .name {
    font-size: 1.7rem;
  }
  .products .name small {
    font-size: 1.3rem;
  }
  .btn{
    width: 118px;
    margin: 10px auto 0;
  }
  .info {
    background-image: url(../img/bg_sp.jpg);
    background-size: cover;
    background-position: center center;
  }  
  .staff {
    padding-bottom: 30px;
  }
  .staff h2 img {
    width: 61.33vw;
    margin: 0 auto;
  }
  .staff .staff_txt {
    padding: 9vw 7vw;
    line-height: 2.28;
  }
  .link a {
    width: 180px;
    font-size: 1.2rem;
    margin: 10px auto;
  }
  footer {
    padding: 25px 0 35px;
  }
  footer .share a {
    font-size: 1.2rem;
  }
  footer .share div.mail::after {
    font-size: 1.2rem;
  }
  footer .share__item {
    width: 24px;
    padding: 0;
    margin: 0 6px;
  }
  footer .footer__links-store {
    display: flex;
    justify-content: center;
    margin-bottom: 14px;
    flex-direction: column;
    align-items: center
  }
  footer .footer__links-store a {
    text-decoration: none;
    font-size: 1rem;
    color: #000
  }
  footer .footer__links-store li{
    line-height: 1;

  }
  footer .footer__links-store a:after {
    content: "";
    display: inline;
    font-size: 1.3rem
  }
  footer .footer__links-store li:last-child a:after {
    content: none
  }
  footer small {
    display: block;
    text-align: center
  }
  footer small img {
    height: 9px;
    width: auto
  }
}