@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
  color:#666;
}
a{
    text-decoration: none;
    cursor: pointer;
}
a:hover {
   opacity: 0.6; 
}

img{
    width:100%;
    height: auto;
}

.tcenter{
    text-align: center;
}
h2{
    color: #fff000;
    background-color: #c2455d;
    border-radius: 20px;
    text-align: center;
    margin: 50px 0 20px;
}

h2 a{
    color: #d8e6af;
}
.clearfix {
    zoom: 1;
    overflow: hidden;
}
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/*** Margin Setting ***/
.mt10{
    margin-top:10px;
}
.mt50{
    margin-top:50px;
}
.mt100{
    margin-top:100px;
}

table{
  border-collapse: separate;
  border-spacing: 0px 5px;
  margin: 0 auto 50px;
}
td,th{
  padding: 10px;
}
th{
  background: #e88553;
  color: #fff;
}
td{
  background: #f5dbc9;
}

span.yellow{
    color:yellow;
}
.spot2{
    /*background-color: #f5dbc9;*/
    background-color: #c2455d;
    border:5px solid #c2455d;
    border-radius: 12px;
    /*background-color: #cedfa6;
    border:2px solid #6eb645;*/
    padding:20px 0;
    margin:30px auto;
    text-align: center;
}
.spot2.fuji{
    background-color: #82CDDB;
    border:5px solid #82CDDB;
}
.spot2 img{
    width:80%;
}

.spot2 h2{
    color: #faed06;
    margin: 10px 0 0;
    font-size: 3vw;
    background-color: unset;
}
.spot2 h3{
    color: #fff;
    margin: 5px 0 0;
    font-size: 2vw;
    background-color: unset;
}


.spotarea{
    /*background-color: #f5dbc9;*/
    background-color: #79bdae;
    border:5px solid #79bdae;
    border-radius: 12px;
    /*background-color: #cedfa6;
    border:2px solid #6eb645;*/
    padding:20px 0;
    margin:30px auto;
    text-align: center;
}
.spotarea h2{
    color: #0e231e;
    margin: 10px 0 0;
    font-size: 3vw;
    background-color: unset;
}

.spotarea.t2{
    background-color: #c2455d;
    border:5px solid #c2455d;
}
.spotarea.t2 h2{
    color: #faed06;
    margin: 10px 0 0;
    font-size: 3vw;
    background-color: unset;
}
ul.spot {
    display: flex;
    flex-wrap: wrap;
    justify-content: normal;
    margin: 1vw 0 50px 0;
}
.spot li{
    float: left;
    background-color: #ccc;
    border:5px solid #79bdae;
    border-radius: 12px;
    text-align: center;
    flex-basis: calc(50% - 30px);
    margin: 20px 10px 10px 10px;
    list-style: none;
    position: relative;
    padding-bottom: 70px;
}
.spot.fuji li{
    background-color: #C8E7EE;
    border:5px solid #82CDDB;
}
.spot .spotimg{
    width:auto;
    height:20vw;
    max-width: 100%;
    overflow: hidden; 
    position: relative;
}

.spot img:hover {
    transform: translate(-50%, -50%) scale(1.1);
    transition-duration: 0.3s;
}
.spot img{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    max-width: unset!important;
    display: block;
    transition-duration: 0.3s;
}
.spot .tate img{
    width: auto;
    height:20vw;
    margin: 0 auto;
}
.spot .title{
    background-color:#79bdae;
    color:#fff;
    font-weight: bold;
    padding: 5px 0;
    position: relative;
}

.spot.fuji .title{
    background-color:#82CDDB;
}
.spot .title a{
    position: absolute;
    right: 2vw;
    cursor: pointer;
    top: 0px;
    
}
.spot .title img{
    width:4vw;

}
.spot .title span{
    font-size:11px;
    color:#fff;
}
.spot li dl{
    border-top: 1px dashed #999999;
    margin: 0;
    clear: both;
    display: table;
    width: 100%;

}
.spot li dl.first{
    border-top: none;
    margin: 0;
}
.spot li dt{
    display: table-cell;
    width: 30%;
    font-weight: bold;
    background-color: brown;
    vertical-align: middle;
    text-align: center;
    background: #f5dddf;
}

.spot li dt:nth-child(2n){
    background-color: #fff;
}
.spot li dd{
    display: table-cell;
    width: 70%;
    padding-left: 10px;
    text-align: left;
    vertical-align: middle;
    background: #bde1d9;
}


.spot li dt{
    display: table-cell;
    width: 30%;
    font-weight: bold;
    background-color: brown;
    vertical-align: middle;
    text-align: center;
    background: #def7f2;
}

.spot.spot_2t li{
    background-color: #ccc;
    border:5px solid #c2455d;
}

.spot.spot_2t  li dd{
    background: #e7bfc1;
}

.spot.spot_2t li dt{
    background-color: brown;
    background: #f5dddf;
}
.spot.spot_2t .title{
    background-color:#c2455d;
    color:#fff;
}
/*** PC / SP ***/
.pc{ display: block;}
.sp{display: none!important;}
.sp_br{
    display: none;
  }

.box26 {
    position: relative;
    margin: 50px 0;
    padding: 2.5em 1em 1em;
    border: solid 3px #c3465d;
    border-radius: 8px;
    background-color: #fff;
}
.box26 .box-title {
    /*position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #c2455d;
    font-weight: bold;*/

    position: absolute;
    display: inline-block;
    top: -2em;
    left: 10px;
    padding: 0 9px;
    line-height
    font-size: 19px;
    background: #FFF;
    color: #c2455d;
    font-weight: bold;
    background: black;
    padding: 1em 2em;
    border-radius: 2em;
    color: #fff;
}
.box26 p {
    margin: 0; 
    padding: 0;
}
.box26 div {
    width: 75%;
    margin: 10px auto 0;
}
@media screen and (max-width: 754px) {
.box26 div {
    margin-top:35px;
}
}
/*=============================
  Contents
============================*/
body {
  background-image: url('../images/bg.png');
  background-repeat: repeat;  
  background-color: #c4c397; 
  background-size: 100px;
  font-size: 100%;
  text-align: center;
  /*font-family: 'Noto Sans JP','M PLUS Rounded 1c', 'M PLUS 1p',sans-serif;*/
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height:1.6;

  padding: 0;
  margin: 0;
  background-position: top center;
}

#wrapper {
  text-align: left;
  
  height: 100%;
  margin: 0 auto;
  padding:  0;
  border: solid 0px #669966;
    background-color: #f0e2b9;
}

.container{
  width: 80%;
  display: block;
    margin: 0 auto;

}
.container100{
  width: 100%;
  display: block;
    margin: 0 auto; 
      background-color: #97cfe2;
}

#block5{
    width: 80%;
    margin: 0 auto;
    padding: 1px 0 50px 0;
}

#block5 img{
    margin:50px 0 0 0;
}
#footer{
    margin:5vw 0 0;
    text-align: right;
    overflow: hidden;
}
#footer img{
    width:50%;
    margin:0 auto;
}
#footer .maruC{
    color: #a79898;
    font-size: 16px;
    line-height: 22px;
    vertical-align: middle;
    /* float: right; */
    text-align: center;
}
#footer .maruC .c{ 
     font-size: 22px;
    　line-height: 22px;
    vertical-align: middle;
}
.btn{
    display: block;
    margin: 5vw auto 6vw;
    overflow: hidden;
    width: 78%;
    max-width: 1000px;
    text-align: center;
}

.btn li{
    float:left;
    margin: 0 2%;
    display: block;
    width: 46%;
    color:#fff;
    font-size: 1.2vw;
}

.btn li span{
        margin-top:5px;
}

.shot{
    width: 95%;
    margin: 3vw auto 1vw;
    display: block;
}

.shot2{
    margin-left:0;    
}
.present{
    width: 85%;
    margin: 1vw auto;
    display: block;
}

.precautions{
    width:70%;
    color:#fff;
    margin:0 auto;
}

.precautions li{
    margin:15px 0;   
    
}
.toiawase{
    width:60%;
    margin: 20px auto;
}

.toiawase img{
    margin: 10px 0 0 0!important;
}
.block5-3l{
    display: inline-block;
    width:74%;
    vertical-align: middle;
    padding-right: 5%;
}
.block5-3r{
    display: inline-block;
    vertical-align: middle;
}
.head-border {
    display: flex;
    align-items: center;
    width: 90%;
    margin: 30px auto;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #fff;
}

.head-border:before {
    margin-right: 1rem;
}

.head-border:after {
    margin-left: 1rem;
}

.spot2 .pos{
    width:40px;
}

.box_l{
    width: 58%;
}
.box_r{
    width: 42%;
}
@-webkit-keyframes active-btn07-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
}
@keyframes active-btn07-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-20px) rotate(0);
  }
  100% {
    transform: translateY(-20px) rotate(-45deg);
  }
}

.green{
   background-color: #c2455d; 
}
.toibox{
    font-size:20px ;
    line-height: 1.5;
    color:#fff;
    width:70%;
}


.contact{
    color: #c2455d;
    background-color: #fff;
    border-radius: 20px;
    text-align: center;
    margin: 50px 0 10px 0;
    line-height: 2;
}

.dfb{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.dfb img{
    padding:10px;
    /*width:calc( 100% - 20px);*/
}
.w50{
    width:50%;
}
.w55{
    width:55%;
}
.line70{
    width: 70%;
    margin: 30px auto;
    display: block;
}
.btnh,
a.btnh
{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 5px 40px;
  margin:10px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 2rem;
  position: absolute;
  bottom: 0;
  left:calc( 50% - 60px );
    /* margin: 10px auto;*/
}
.btn--blue,
a.btn--blue {
  color: #fff;
  background-color: #2f366f;
}
.btn--blue:hover,
a.btn--blue:hover {
  color: #fff;
  background: #2f366f;
}
.btn--a,
a.btn--a {
  color: #fff;
  background-color: #416b62;
}
.btn--a:hover,
a.btn--a:hover {
  color: #fff;
  background: #416b62;
}

.spot.spot_2t .btn--a,
.spot.spot_2t a.btn--a {
  color: #fff;
  background-color: #c2455d;
}
.spot.spot_2t .btn--a:hover,
.spot.spot_2t a.btn--a:hover {
  color: #fff;
  background: #c2455d;
}
.fa-position-left {
  position: absolute;
  top: calc(50% - .5em);
  left: 1rem;
}

.btn--radius,
a.btn--radius,
button.btn--radius
{
    border-radius: 100vh;
}

.attention{
    color:red;
    display: inline-block;
}

.logo{
    width: 500px;
    margin: 30px auto!important;
    display: block;
}

.titleimg{
    width: 60%;
    margin: 5rem auto 2rem;
    display: block;
}

.copyright{
    
    text-align: center;
    color: #fff;
    display: block;
    padding: 0 0 30px;
    
}
.two-images{
  display: grid;
  grid-template-columns: 25% 75%;
  gap: 0;                 /* 画像の間隔 */
  align-items: start;
  margin-top:2rem;
  background-color: #d3edfb;
}
.held-images{
  display: grid;
  grid-template-columns: calc(50% - 5px) calc(50% - 5px);
  gap: 10px;                 /* 画像の間隔 */
  align-items: end;
  margin-top:2rem;
  background-color: #d3edfb;
}
.img{
  width: 100%;
  height: auto;              /* 画像の比率を維持 */
  display: block;
}

/* 画面が狭いときは縦積み */
@media (max-width: 768px){
  .two-images{
    grid-template-columns: 1fr;
  }

.held-images{
 grid-template-columns: 1fr;
}
}



@media screen and (min-width: 1200px) {

}
@media screen and (max-width: 1024px) {/*タブレット縦*/ 

}
@media screen and (max-width: 896px) {/*スマホ横*/

}
@media screen and (max-width: 754px) {
    .pc{ display: none!important;}
    .sp{display: block!important;}
    .sp_br{display: block;}
    a:hover {opacity: 1; }
    h2{
        font-size: 16px;
        padding: 10px;
    }

    #wrapper {
      width: 100%;  
    }
    .container {
      width:90%;  
    }
    .shot {
        width: 100%;
        margin: 4vw auto 1vw;
        display: block;
    }
    .box26 div{
    font-size: 10px;
    width: 90%;
    }
    .spot2 {
    padding: 10px 0;
    margin: 10px auto;
}
    .spot li{
        flex-basis: 100%;
        font-size: 14px;
    }
    .spot .spotimg {
        height: 45vw;
    }
    .spot .tate img {
    width: auto;
    height:50vw;
    }
    .spot .title img {
    width: 13vw;
}
    .spot .title a {
    right: 10vw;
    top: -1vw;
}
    .spot2 h2 {
    margin: 0;
    font-size: 14px;
    padding:0;
}
    ul.spot {
    margin: 1vw 0 0px 0;
}
    .present {
        margin: 3vw auto;
    }
    
    .btn {
        width: 60%;
        margin: 8vw auto;
    }
    .btn li{
        width: 100%;
        margin:3vw 0;
        font-size: 10px;
    }
    

    .head-border {
        width: 100%;
        font-size: 20px;
        font-weight: bold;
    }
    .logo{
        width: 80%;
        margin: 30px auto!important;
        display: block;
    }
    .precautions{
        width:85%;
        word-break: break-all;
        font-size:10px;
    }
    #block5 {
        width: 90%;
        padding: 1px 0 20px 0;
    }
    #block5 img {
        margin: 20px 0 0 0;
}
    .toiawase {
        width:100%;
        margin: 0px auto;
    }
    .toiawase img {
        margin: 0!important;
    }
    .toibox{
        font-size:12px;
        width:100%;
    }
    .contact{
        margin:20px 0;
    }
    .block5-3l {
    width: 72%;
    }
    #footer{
        margin:10vw 0 0;
    }
    #footer .maruC{
     width:100%;
     margin:0 10px 0 0;
    }

    #footer span {
    font-size: 10px;
}
    
    #footer .maruC .c {
    font-size: 16px;
    line-height: 18px;
}
    .spot2 .pos{
    width:20px;
}

.spfdcolumn{
    -webkit-flex-direction: column;
    flex-direction: column;
}
.line70 {
    width: 90%;
    margin: 10px auto;
    display: block;
}
.titleimg{
    width:90%;
}
.spotarea{
    padding:0;
}
.spw100{
    width:100%;
}
.btnh, a.btnh {
    font-size: 16px;
}
.attention{
    font-size:14px;
    color:red;
    margin-bottom:10px;
}
}
@media screen and (max-width: 480px) {
    /*スマホ縦*/

}


/******************壁紙用************************/

section#wall{
    padding-bottom:100px;
    background-image: url(../images/ptn01.png);
    background-repeat: repeat-x;
    background-size: 30px 33px;
    background-position: bottom left;
    text-align: center;
}

section#wall h1{
    border-bottom: double #c2455d;
    font-size: 40px;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 25px;
    font-weight: bold;
}
section#wall p{
    margin:30px 0;
    text-align: center;
}
section#wall p a{
    display: block;
    color:inherit;
}
.wallpaper{
    display: flex;
}
.wallpaper dl{
    width:40%;
    margin:0 5%;
}
.wallpaper dt{
    font-weight: bold;
    text-align: center;
}
.downloadButton{
    background-color: #c2455d;
    padding: 20px;
    border-radius: 5px;
    color: #fff;
}
section#wall .size{
text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    border: 3px solid #c2455d;
    display: inline-block;
    margin: 30px auto 0;
    padding: 0 20px;
    background-color: #fff;
}
@media screen and (max-width: 767px) {
 .wallpaper{
    display: block;
}
.wallpaper dl{
    width: 90%;
    margin: 50px auto;
    border: 1px solid;
    padding: 10px;
}
}
