@charset "UTF-8";
/*
**********************************************************************

* common.css

*********************************************************************
*/
/* =========================================================
body
========================================================= */
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, sans-serif;
  line-height: 2;
  background: #fff;
  font-size: 15px;
  font-size: 1.5rem; }

@media only screen and (min-width: 769px) {
  body {
    min-width: 1200px;
    font-size: 15px;
    font-size: 1.5rem; } }

@media only screen and (max-width: 768px) {
  body {
    min-width: 320px;
    font-size: 14px;
    font-size: 1.4rem; } }

/* =========================================================
layout
========================================================= */
#Wrapper {
  position: relative;
  overflow: hidden;
  width: 100%; }

.inner {
  position: relative;
  margin: 0 auto; }

img {
  max-width: 100%;
  height: auto; }

@media only screen and (min-width: 769px) {
  .inner {
    max-width: 1200px;
    padding: 0 15px; } }

@media only screen and (max-width: 768px) {
  .inner {
    padding: 0 15px; } }

/* =========================================================
Pop
========================================================= */
#Overlay {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85); }

/* =========================================================
#Popup
========================================================= */
#Popup {
  position: absolute;
  z-index: 11;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  margin: 0 auto; }
  #Popup .closeOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  #Popup .closeBtn {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    text-align: center;
    letter-spacing: .1em;
    color: #fefefe;
    font-size: 12px;
    font-size: 1.2rem; }
    #Popup .closeBtn:before, #Popup .closeBtn:after {
      position: absolute;
      display: block;
      width: 0;
      height: 1px;
      content: '';
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 100% auto;
      top: 25px;
      left: 50%;
      transform-origin: 50% 50%;
      background-color: #fff; }
    #Popup .closeBtn:before {
      transform: rotate(45deg); }
    #Popup .closeBtn:after {
      transform: rotate(-45deg); }
  #Popup .popMain {
    position: relative;
    margin: 0 auto; }

.popBox {
  color: #fff; }
  .popBox .popTitWrap {
    text-align: center; }
    .popBox .popTitWrap .cat {
      line-height: 1;
      margin-top: 5px;
      margin-right: 10px;
      padding: 2px 2px;
      vertical-align: middle;
      background-color: #a5180f; }
      .popBox .popTitWrap .cat span {
        display: block;
        padding: 5px 18px;
        border: 1px solid #efb0ac; }
    .popBox .popTitWrap .tit {
      line-height: 1.2;
      vertical-align: middle; }
      .popBox .popTitWrap .tit .kana {
        display: inline-block;
        margin-left: 5px;
        vertical-align: bottom; }
  .popBox .photo {
    position: relative;
    margin-top: 20px; }
    .popBox .photo .photoList {
      position: relative;
      border: solid #b7a248;
      border-width: 3px;
      background: url(../images/loading.gif) no-repeat center center #000; }
      .popBox .photo .photoList li {
        position: absolute;
        top: 0;
        left: 0;
        display: none;
        width: 100%;
        text-align: center;
        background: no-repeat center center;
        background-size: contain; }
        .popBox .photo .photoList li img {
          opacity: 0; }
    .popBox .photo .arrowBtn {
      position: absolute;
      top: 50%;
      height: 100%;
      cursor: pointer;
      transform: translateY(-50%); }
      .popBox .photo .arrowBtn:after {
        position: absolute;
        display: block;
        width: 0px;
        height: 0px;
        content: '';
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        top: 50%;
        width: 50%;
        transform-origin: 50% 50%;
        border: solid #fff; }
      .popBox .photo .arrowBtn.arrowPrev:after {
        left: 40%;
        transform: rotate(45deg);
        border-width: 0 0 1px 1px; }
      .popBox .photo .arrowBtn.arrowNext:after {
        right: 40%;
        transform: rotate(45deg);
        border-width: 1px 1px  0 0; }
  .popBox .popTxt {
    margin-top: 20px; }

@media only screen and (min-width: 769px) {
  #Popup {
    padding: 100px 0; }
    #Popup .closeBtn {
      width: 50px;
      margin-top: -50px;
      padding-top: 50px;
      transform: translateX(-100%); }
      #Popup .closeBtn:before, #Popup .closeBtn:after {
        width: 50px;
        margin-left: -25px; }
    #Popup .popMain {
      max-width: 850px; }
  .popBox .popTitWrap .cat {
    display: inline-block;
    font-size: 14px;
    font-size: 1.4rem; }
  .popBox .popTitWrap .tit {
    display: inline-block;
    font-size: 34px;
    font-size: 3.4rem; }
    .popBox .popTitWrap .tit .kana {
      font-size: 17px;
      font-size: 1.7rem; }
  .popBox .photo .photoList {
    overflow: hidden;
    height: 400px; }
  .popBox .photo .arrowBtn {
    width: 60px; }
    .popBox .photo .arrowBtn:after {
      height: 30px;
      margin-top: -15px; }
    .popBox .photo .arrowBtn.arrowPrev {
      left: -70px; }
    .popBox .photo .arrowBtn.arrowNext {
      right: -70px; }
  .popBox .popTxt {
    font-size: 15px;
    font-size: 1.5rem; } }

@media only screen and (max-width: 768px) {
  #Popup {
    padding: 50px 0; }
    #Popup .closeBtn {
      width: 50px;
      margin-top: -50px;
      padding-top: 35px;
      font-size: 10px;
      font-size: 1rem; }
      #Popup .closeBtn:before, #Popup .closeBtn:after {
        width: 30px;
        margin-left: -15px; }
    #Popup .popMain {
      max-width: 850px; }
  .popBox .popTitWrap .cat {
    display: inline-block;
    font-size: 14px;
    font-size: 1.4rem; }
  .popBox .popTitWrap .tit {
    margin-top: 10px;
    font-size: 16px;
    font-size: 1.6rem; }
    .popBox .popTitWrap .tit .kana {
      font-size: 14px;
      font-size: 1.4rem; }
  .popBox .photo {
    padding: 0 20px; }
    .popBox .photo .photoList {
      height: 240px; }
    .popBox .photo .arrowBtn {
      width: 30px; }
      .popBox .photo .arrowBtn:after {
        height: 15px;
        margin-top: -8px; }
      .popBox .photo .arrowBtn.arrowPrev {
        left: -12px; }
      .popBox .photo .arrowBtn.arrowNext {
        right: -12px; }
  .popBox .popTxt {
    font-size: 13px;
    font-size: 1.3rem; } }

/* =========================================================
#GNav
========================================================= */
#GNav .navBlock {
  line-height: 1;
  box-sizing: border-box;
  width: 100%;
  color: #fff;
  background-color: #000; }
  #GNav .navBlock a {
    color: inherit; }
  #GNav .navBlock .blockMain .itemList {
    text-align: center; }
    #GNav .navBlock .blockMain .itemList li {
      line-height: 1;
      display: inline-block;
      text-decoration: none;
      letter-spacing: .1em; }
      #GNav .navBlock .blockMain .itemList li a {
        display: block;
        text-decoration: none; }
        #GNav .navBlock .blockMain .itemList li a .liInner {
          display: inline-block;
          background: url(../images/icn_nav_arrow01.svg) no-repeat 0 60%; }

@media only screen and (min-width: 769px) {
  #GNav .navBlock {
    position: absolute;
    top: 0;
    left: 0;
    height: 60px;
    padding-top: 10px; }
    #GNav .navBlock .blockTit {
      margin-top: -2px;
      position: absolute;
      top: 50%;
      left: 15px;
      width: 120px;
      transform: translateY(-50%); }
    #GNav .navBlock .blockMain .itemList li {
      margin: 0 18px;
      font-size: 15px;
      font-size: 1.5rem; }
      #GNav .navBlock .blockMain .itemList li a {
        padding: 10px 0; }
        #GNav .navBlock .blockMain .itemList li a .liInner {
          padding-left: 25px;
          background-size: 12px auto; } }

@media only screen and (max-width: 768px) {
  #GNav .navBlock {
    padding: 5px 0 10px;
    border-bottom: 1px solid #fff; }
    #GNav .navBlock .blockTit {
      position: absolute;
      top: 10px;
      left: 15px;
      width: 75px; }
    #GNav .navBlock .blockMain .itemList {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; }
      #GNav .navBlock .blockMain .itemList li {
        font-size: 14px;
        line-height: 1.2;
        width: 33.333%;
        padding: 10px 0; } }
      @media only screen and (max-width: 768px) and (max-width: 374px) {
        #GNav .navBlock .blockMain .itemList li {
          font-size: 3.5vw; } }

@media only screen and (max-width: 768px) {
        #GNav .navBlock .blockMain .itemList li a {
          height: 100%; }
          #GNav .navBlock .blockMain .itemList li a .liInner {
            padding-right: 10px;
            padding-left: 20px;
            background-position: 0;
            background-size: 12px auto; } }

/* =========================================================
module
========================================================= */
.modTitBlock01 .sectTit {
  line-height: 1.2;
  position: relative;
  text-align: center;
  letter-spacing: .1em; }
  .modTitBlock01 .sectTit:before {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    content: '';
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/icn_tit01.svg); }
  .modTitBlock01 .sectTit span {
    display: inline-block;
    border-bottom: 1px solid #b7a248; }

.modTitBlock01 .leadTxt,
.sectMain .leadTxt {
  text-align: center; }

@media only screen and (min-width: 769px) {
  .modTitBlock01 .sectTit {
    padding-top: 30px;
    font-size: 42px;
    font-size: 4.2rem; }
    .modTitBlock01 .sectTit:before {
      position: absolute;
      display: block;
      width: 0;
      height: 0;
      content: '';
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 100% auto;
      width: 36px;
      height: 16px; }
    .modTitBlock01 .sectTit span {
      min-width: 200px;
      padding-bottom: 5px; }
  .modTitBlock01 .leadTxt {
    margin-top: 25px;
    font-size: 16px;
    font-size: 1.6rem; }
    
    .sectMain .leadTxt {
      margin-top: 0px;
      font-size: 48px;
      font-size: 4.8rem; } 
    .pcmode{
        display:block;
       }
    .spmode{
      display: none;
     }
    }

@media only screen and (max-width: 768px) {
  .modTitBlock01 .sectTit {
    padding-top: 15px;
    font-size: 20px;
    font-size: 2rem; }
    .modTitBlock01 .sectTit:before {
      width: 20px;
      height: 10px; }
    .modTitBlock01 .sectTit span {
      min-width: 100px;
      padding-bottom: 5px; }
  .modTitBlock01 .leadTxt {
    max-width: 480px;
    margin: 0 auto;
    margin-top: 15px;
    text-align: left;
    font-size: 14px;
    font-size: 1.4rem; }
  
    .sectMain .leadTxt {
      max-width: 480px;
      margin: 0 auto;
      margin-top: 15px;
      text-align: left;
      font-size: 18px;
      font-size: 1.8rem; }
    .pcmode{
        display:none;
       }
    .spmode{
        display:block;
       }
      }

/* =========================================================
#Contents
========================================================= */
#Contents {
  position: relative; }

@media only screen and (min-width: 769px) {
  #Contents {
    padding-top: 60px; } }

/* =========================================================
#GFoot
========================================================= */
#GFoot {
  border-top: 1px solid #dedede; }
  #GFoot img {
    vertical-align: top; }
  #GFoot .logo {
    text-align: center; }
  #GFoot .copyright {
    text-align: center;
    color: #a2a2a2; }

@media only screen and (min-width: 769px) {
  #GFoot {
    padding: 30px 0; }
    #GFoot .logo img {
      width: 100px; }
    #GFoot .copyright {
      font-size: 10px;
      font-size: 1rem; } }

@media only screen and (max-width: 768px) {
  #GFoot {
    padding: 30px 0; }
    #GFoot .logo img {
      width: 100px; }
    #GFoot .copyright {
      font-size: 10px;
      font-size: 1rem; } }

/* =========================================================
animation
========================================================= */
.cmnAnimeWrap .cmnAnime,
.cmnAnimeWrap.cmnAnime,
.firstAnime {
  transition: ease 1.5s;
  transition-property: opacity,transform;
  transform: translateY(20px);
  opacity: 0; }

.cmnAnimeWrap.animeActive .cmnAnime,
.cmnAnimeWrap.animeActive.cmnAnime,
.firstAnime.animeActive {
  transform: translateY(0px);
  opacity: 1; }


