@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(max-width:999px){

/*STYLE*/
.pc {
display:none;
}

.wrap {
margin-top:60px;
}

.cts {
width:90%;
margin:auto;
}

.titles {
text-align:center;
padding-bottom:40px;
}

.titles h2 {
line-height:100%;
letter-spacing:5px;
color:#8e8048;
}

.titles .subtitle {
letter-spacing:5px;
padding-top:10px;
color:#8e8048;
}

.en {
font-family:'Crimson Text', serif;
}

.caption {
position:absolute;
right:5px;
bottom:5px;
font-size:50% !important;
line-height:100%;
letter-spacing:2px;
color:#fff;
z-index:99;
text-shadow:0 0 3px rgba(0,0,0,1);
}

.caption.bl {
left:5px;
right:none;
}

.caption.bk {
color:#666;
}



/*HEADER*/
header {
width:100%;
height:60px;
background:rgba(255,255,255,1);
position:fixed;
top:0;
left:0;
z-index:9999;
display:flex;
justify-content:space-between;
align-items:center;
padding-left:10px;
}

header h1 {
display:flex;
align-items:center;
}

header h1 img {
width:75%;
}

header .contact {
display:none;
}

header .contact .request  {
width:200px;
height:80px;
background:#9b0e16;
display:flex;
justify-content:center;
align-items:center;
}

header .contact .property  {
margin-right:30px;
display:flex;
align-items:center;
}

header .contact .property .arrow {
border-right:transparent 7px solid;
border-top:transparent 5px solid;
border-bottom:transparent 5px solid;
border-left:#000 7px solid;
margin-right:3px;
}

header .contact .property p {
color:#000;
letter-spacing:7px;
}

header .contact img {
width:90px;
}



/*MV*/
#mv {
position:relative;
}

#mv .mv {
width:100%;
height:calc(100vh - 60px);
}

#mv .mv.mv1 {
background:url(../img/mv_1.jpg) center;
background-size:cover;
}

#mv .mv.mv2 {
background:url(../img/mv_2.jpg) center;
background-size:cover;
}

#mv .mv_title {
width:100%;
position:absolute;
z-index:999;
top:34vh;
left:0;
right:0;
margin:auto;
text-align:center;
}

#mv .mv_title .title {
width:70%;
margin:0 auto 20px;
}

#mv .mv_title .en {
font-size:90%;
letter-spacing:5px;
color:#fff;
text-shadow:0 0 5px rgba(0,0,0,0.7);
}


/*SWIPER*/
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
bottom: -30px;
}

.swiper-pagination-bullet-active {
background: #808080;
}



/*INTRO*/
#intro {
padding:70px 0;
}

#intro .start {
width:60%;
margin:0 auto 30px;
}

#intro .copy {
line-height:200%;
letter-spacing:5px;
}

#intro .attention {
font-size:70%;
line-height:180%;
padding-top:15px;
display:flex;
}

#intro .cta {
padding-top:70px;
}

#intro .cta .titles {
padding-bottom:20px;
}

#intro .cta .titles h2 {
font-size:120%;
}


/*CTA*/
.cta {
}

.cta a {
width:80%;
height:70px;
display:flex;
justify-content:center;
align-items:center;
background:#9b0e16;
margin:auto;
}

.cta a p {
font-size:100%;
color:#fff;
letter-spacing:5px;
line-height:100%;
}



/*STORY*/
#story {
background:#ebf5f5;
padding:70px 0;
margin-bottom:50px;
}

#story p {
font-size:90%;
letter-spacing:3px;
line-height:200%;
padding-bottom:20px;
}

#story .caption {
line-height:100%;
letter-spacing:2px;
}

#story p:last-child {
padding-bottom:0;
}

#story .story1 {
margin-bottom:50px;
}

#story .story1 .photo {
width:80vw;
height:80vw;
background:url(../img/story_1.jpg) center;
background-size:cover;
margin:0 0 0 auto;
position:relative;
}

#story .story1 .photo .copy1 {
width:20vw;
position:absolute;
top:23vw;
left:-20vw;
right:0;
text-align:right;
}

#story .story1 .photo .copy2 {
position:absolute;
top:23vw;
left:15px;
color:#fff;
}

#story .story_container1 {
position:relative;;
margin-bottom:50px;
}

#story .story2 {
position:relative;
margin-bottom:20px;
}

#story .story2 .photo {
width:100%;
height:60vw;
background:url(../img/story_2.jpg) center;
background-size:cover;
margin-bottom:20px;
}

#story .story2 .copy3 {
width:90%;
margin:auto;
text-align:center;
}

#story .story3 {
width:100%;
}

#story .story3 .photo {
width:70%;
height:45vw;
background:url(../img/story_3.jpg) center;
background-size:cover;
margin:0 0 20px auto;
}

#story .story3 .copy4 {
width:90%;
margin:auto;
text-align:center;
}

#story .story4 {
margin-bottom:50px;
}

#story .story4 .photo {
width:80vw;
height:80vw;
background:url(../img/story_4.jpg) center;
background-size:cover;
display:flex;
justify-content:center;
align-items:flex-end;
margin:0 auto 0 0;
position:relative;
padding-bottom:35vw;
}

#story .story4 .photo .copy5 {
position:absolute;
right:10px;
text-align:right;
color:#fff;
}

#story .story4 .photo .copy6 {
position:absolute;
width:20vw;
right:-22vw;
}

#story .story5 {
margin-bottom:50px;
}

#story .story5 .photos {
width:100%;
height:75vw;
position:relative;
margin-bottom:20px;
}

#story .story5 .photos .photo1 {
width:80vw;
height:55vw;
background:url(../img/story_5.jpg) center;
background-size:cover;
position:relative;
margin:0 0 0 auto;
}

#story .story5 .photos .photo2 {
width:40vw;
height:30vw;
background:url(../img/story_6.jpg) center;
background-size:cover;
position:absolute;
left:0;
bottom:0;
}

#story .story5 .copy7 {
width:90%;
margin:auto;
text-align:center;
}

#story .story6 {
width:100%;
height:80vw;
background:url(../img/story_7.jpg) center;
background-size:cover;
margin:auto;
padding-top:16vw;
position:relative;
}

#story .story6 .copy8 {
color:#fff;
text-shadow:0 0 10px rgba(0,0,0,0.8);
text-align:center;
}



/*TOP_TOPICS*/
#top_topics {
padding:70px 0 70px;
}

#top_topics h2 {
font-size:250%;
letter-spacing:7px;
}

.topics {
display:flex;
flex-wrap:wrap;
}

.topics .topic {
width:100%;
margin-bottom:30px;
opacity:1;
transition:0.5s;
}

.topics .topic.is-hidden {
visibility:hidden;
opacity:0;
height:0;
margin-bottom:0;
}

.topics .topic:nth-child(3n) {
margin-right:0;
}

.topics .topic .photo {
margin-bottom:15px;
}

.topics .topic .date {
font-size:110%;
border-bottom:#666 1px solid;
padding-bottom:10px;
margin-bottom:15px;
}

.topics .topic .ex {
font-size:90%;
line-height:170%;
}

.pagenation {
display:flex;
justify-content:center;
}

.pagenation a {
padding:6px 12px;
margin:0 5px;
border:#8e8048 1px solid;
border-radius:10vw;
}

.pagenation a.none {
opacity:0.4;
pointer-events:none;
}

.pagenation a.now {
background:#8e8048;
}

.pagenation a.now p {
color:#fff;
}

.pagenation a p {
font-size:80%;
letter-spacing:0;
text-align:center;
color:#8e8048;
}

#top_topics .more {
cursor:pointer;
}

#top_topics .more a {
display:flex;
justify-content:center;
align-items:center;
border:#8e8048 1px solid;
width:400px;
height:55px;
margin:auto;
pointer-events:none;
}

#top_topics .more.next a {
pointer-events:auto;
}

#top_topics .more img {
width:20px;
}

#top_topics .more p {
font-size:100%;
color:#8e8048;
letter-spacing:7px;
padding-left:30px;
line-height:100%;
}

#top_topics .more p:before {
content:"さらに表示";
}

#top_topics .more.next p:before {
content:"お知らせ一覧";
}

#top_topics .comingsoon {
}

#top_topics .comingsoon p {
border-top:#8e8048 1px solid;
border-bottom:#8e8048 1px solid;
padding:50px 0;
font-size:120%;
letter-spacing:10px;
text-align:center;
color:#8e8048;
}

#topics {
padding-bottom:70px;
}

#topics .topics_cts {
}

#topics .topics_cts h3 {
font-size:135%;
}

#topics .topics_cts .date {
font-size:100%;
display:inline-block;
color:#8e8048;
padding-top:3px;
}

#topics .topics_cts .photo {
margin:20px auto 0;
}

#topics .topics_cts .ex {
margin-top:30px;
}

#topics .topics_cts .ex p {
font-size:100%;
line-height:180%;
}

#topics .topics_cts .movie {
width:100%;
margin:30px auto 0;
padding-top: 56.25%;
position:relative;
}

#topics .topics_cts .movie iframe {
position: absolute;
top:0;
right:0;
width:100% !important;
height:100% !important;
}

#topics .topics_cts .btns {
padding-top:50px;
}

#topics .topics_cts .btns .btn {
width:100%;
margin-bottom:15px;
}

#topics .topics_cts .btns .btn:last-child {
margin-bottom:0;
}

#topics .topics_cts .btns .btn a {
display:block;
color:#fff;
padding:20px;
text-align:center;
display:flex;
justify-content:center;
align-items:center;
}

#topics .topics_cts .btns .btn.pdf a {
border:#8e8048 1px solid;
}

#topics .topics_cts .btns .btn.pdf a p {
color:#8e8048;
}

#topics .topics_cts .btns .btn.pdf a img {
width:20px;
margin-right:20px;
}

#topics .topics_cts .btns .btn.more a {
background:#8e8048;
border:#8e8048 1px solid;
}

#topics .topics_cts .btns .btn.more a p {
color:#fff;
}

#topics .topics_cts .btns .btn.more a img {
width:18px;
margin-right:20px;
}

#topics .BackToList {
margin-top:30px;
text-align:center;
}

#topics .BackToList a {
border:#8e8048 1px dotted;
padding:15px 20px;
color:#8e8048;
font-size:90%;
}

#topics .comingsoon {
}

#topics .comingsoon p {
border-top:#8e8048 1px solid;
border-bottom:#8e8048 1px solid;
padding:50px 0;
font-size:150%;
letter-spacing:10px;
text-align:center;
color:#8e8048;
}



/*CONETNTS*/
#contents {
padding-bottom:70px;
}

#contents .titles {
padding-bottom:50px;
}

#contents .titles h2 {
font-size:350%;
letter-spacing:7px;
}

#contents .titles .subtitle {
}

#contents .contents {
}

#contents .contents .content {
width:100%;
height:100vw;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
margin-bottom:10px;
position:relative;
}

#contents .contents .content.content1 {
background:url(../img/contents_1.jpg) center;
background-size:cover;
}

#contents .contents .content.content2 {
background:url(../img/contents_2.jpg) center;
background-size:cover;
}

#contents .contents .content.content3 {
background:url(../img/contents_3.jpg) center;
background-size:cover;
}

#contents .contents .content h3 {
font-size:150%;
color:#fff;
letter-spacing:15px;
line-height:160%;
padding:0 0 18px 15px;
text-shadow:0 0 7px rgba(0,0,0,0.7);
text-align:center;
}

#contents .contents .content .kana {
color:#fff;
font-size:80%;
letter-spacing:3px;
text-align:center;
line-height:180%;
}

#contents .contents .content .kana.en {
color:#fff;
font-size:135%;
letter-spacing:8px;
}

#contents .contents .content:nth-child(1) h3 {
font-size:150%;
letter-spacing:10px;
padding-left:10px;
text-shadow:0 0 7px rgba(0,0,0,1);
}

#contents .contents .content:nth-child(2) h3 {
color:#4d4d4d;
text-shadow:none;
}

#contents .contents .content:nth-child(3) h3 {
text-shadow:0 0 7px rgba(0,0,0,0.3);
padding-bottom:10px;
}

#contents .contents .content:nth-child(1) .kana {
text-shadow:0 0 5px rgba(0,0,0,1);
}

#contents .contents .content:nth-child(2) .kana {
color:#4d4d4d;
}

#contents .contents .content a {
width:60%;
height:50px;
background:#8e8048;
display:flex;
justify-content:center;
align-items:center;
margin-top:30px;
position:relative;
}

#contents .contents .content a p {
font-size:100%;
color:#fff;
letter-spacing:3px;
}

#contents .contents .content a .arrow {
border-right:transparent 8px solid;
border-top:transparent 5px solid;
border-bottom:transparent 5px solid;
border-left:#fff 8px solid;
position:absolute;
right:10px;
}



/*ATTENTION*/
#attention {
width:90%;
margin:0 auto 20px;
}

#attention p {
font-size:70%;
}



/*LINK*/
#link {
background:#f0ece3;
padding:60px 0;
}

#link .titles {
padding-bottom:25px;
}

#link h2 {
font-size:200%;
letter-spacing:7px;
}

#link .links {
}

#link .links .link {
width:100%;
background:#fff;
margin-bottom:15px;
}

#link .links .link:last-child {
margin-bottom:0;
}

#link .links .link a {
display:flex;
}

#link .links .link .photo {
width:32%;
}

#link .links .link h3 {
width:68%;
text-align:center;
line-height:180%;
display:flex;
justify-content:center;
align-items:center;
font-size:80%;
letter-spacing:1px;
}



/*INFORMATION*/
#information {
width:100%;
padding:50px 0;
background:url(../img/contact_bg.jpg) center;
background-size:cover;
}

#information .cts {
}

#information .contact {
text-align:center;
margin-bottom:50px;
}

#information .contact:last-child {
margin-bottom:0;
}

#information .contact .item {
font-size:110%;
color:#fff;
padding-bottom:25px;
}

#information .contact:first-child .item {
padding-bottom:15px;
}

#information .contact .copy {
font-size:80%;
color:#fff;
letter-spacing:2px;
padding-bottom:20px;
line-height:200%;
}

#information .contact .tel {
width:90%;
margin:0 auto 25px;
}

#information .contact .address {
font-size:70%;
color:#fff;
letter-spacing:3px;
padding-bottom:10px;
}

#information .contact .info {
font-size:70%;
line-height:200%;
color:#fff;
}

#information .guide {
width:100%;
margin:0 auto 50px;
}



/*UNDER*/
.pagetitles {
text-align:center;
padding:50px 0;
}

.pagetitles h2 {
font-size:250%;
color:#8e8048;
}

.pagetitles .kana {
}

.undertitles {
padding:40px 0 20px;
}

.undertitles h4 {
font-size:135%;
letter-spacing:3px;
color:#8e8048;
text-align:center;
line-height:180%;
}

.undertitles .copy {
font-size:110%;
line-height:180%;
letter-spacing:5px;
color:#8e8048;
padding-top:0;
text-align:center;
padding-bottom:20px;
}

.maintitle {
width:100%;
height:100vw;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
margin-bottom:10px;
position:relative;
background:#ccc;
}

.maintitle .title {
text-align:center;
}

.maintitle .title h3 {
font-size:180%;
color:#fff;
letter-spacing:10px;
line-height:180%;
padding:0 0 10px 10px;
}

.maintitle .title .kana {
color:#fff;
font-size:90%;
letter-spacing:10px;
}

.maintitle .title .kana.en {
color:#fff;
font-size:100%;
letter-spacing:8px;
}



/*RESORT*/
#resort {
}

#resort .maintitle {
background:url(../resort/img/main.jpg) center;
background-size:cover;
}

#resort .maintitle .title h3 {
line-height:160%;
letter-spacing:7px;
text-shadow:0 0 7px rgba(0,0,0,0.7);
}

#resort .maintitle .title .kana {
letter-spacing:7px;
text-shadow:0 0 7px rgba(0,0,0,0.7);
line-height:180%;
}

#resort .undertitles h4 {
font-size:180%;
letter-spacing:7px;
color:#8e8048;
text-align:center;
}

#resort .undertitles .copy {
text-align:center;
}

#resort .galleries {
}

#resort .galleries .gallery {
margin-bottom:70px;
}

#resort .galleries .gallery .main_photo {
width:100%;
margin-bottom:20px;
}

#resort .galleries .gallery .copies {
width:100%;
}

#resort .galleries .gallery .copies h5 {
width:50%;
margin:0 auto 10px;
}

#resort .galleries .gallery .copies .ex {
text-align:center;
padding-bottom:20px;
letter-spacing:3px;
line-height:180%;
}

#resort .galleries .gallery .copies .thumbnail {
display:flex;
justify-content:center;
}

#resort .galleries .gallery .copies .thumbnail li {
width:31%;
margin-right:3.5%;
cursor:pointer;
border:#fff 2px solid;
}

#resort .galleries .gallery .copies .thumbnail li:last-child {
margin-right:0;
}

#resort .galleries .gallery .copies .thumbnail li.current {
border:#8e8048 2px solid;
}

#resort .shigira {
width:100%;
height:75px;
margin:0 auto 50px;
}

#resort .shigira a {
width:100%;
height:100%;
background:#8e8048;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
position:relative;
}

#resort .shigira a .btn {
}

#resort .shigira a .btn .detail {
font-size:110%;
color:#fff;
padding-bottom:3px;
}

#resort .shigira a .btn .official {
font-size:70%;
color:#fff;
}

#resort .shigira a .arrow {
width:8px;
height:8px;
border-top:transparent 5px solid;
border-right:transparent 8px solid;
border-bottom:transparent 5px solid;
border-left:#fff 8px solid;
position:absolute;
right:15px;
}

#resort #life {
}

#resort #life .main {
width:100%;
height:80vw;
background:url(../resort/img/life_bg.jpg) center;
background-size:cover;
position:relative;
}

#resort #life .main .cts {
padding-top:80px;
}

#resort #life .main h2 {
font-size:150%;
color:#fff;
text-align:center;
letter-spacing:15px;
padding-bottom:15px;
}

#resort #life .main .copy {
font-size:90%;
color:#fff;
text-align:center;
letter-spacing:7px;
line-height:180%;
text-shadow:0 0 5px rgba(0,0,0,0.7);
}

#resort #life .intro {
width:100%;
margin:auto;
position:relative;
display:flex;
}

#resort #life .intro .map {
width:90%;
position:absolute;
top:-18vw;
left:0;
right:0;
margin:auto;
}

#resort #life .intro .copy {
width:90%;
line-height:200%;
padding-top:60vw;
margin:0 auto 25px;
}

#resort #life .lifes {
display:flex;
flex-wrap:wrap;
justify-content:space-between;
padding-bottom:50px;
}

#resort #life .lifes .life {
width:48%;
margin-bottom:20px;
}

#resort #life .lifes .life:nth-child(n+7) {
margin-bottom:0;
}

#resort #life .lifes .life .photo {
margin-bottom:7px;
}

#resort #life .lifes .life .spot {
display:flex;
font-size:90%;
letter-spacing:1px;
}

#resort #life .lifes .life .spot .number {
width:18px;
height:18px;
border-radius:10vw;
display:flex;
justify-content:center;
align-items:center;
margin-right:5px;
color:#fff;
font-size:85%;
text-align:center;
letter-spacing:0;
}

#resort #life .lifes .life .spot .number.view {
background:#616eb4;
}

#resort #life .lifes .life .spot .number.eat {
background:#c14a70;
}

#resort #life .lifes .life .distance {
font-size:70%;
}



/*SUBDIVISION*/
#subdivision {
}

#subdivision .maintitle {
background:url(../subdivision/img/main.jpg) center;
background-size:cover;
}

#subdivision .maintitle .title {
padding-bottom:80px;
}

#subdivision .maintitle .title h3 {
}

#subdivision .maintitle .title .kana {
line-height:180%;
}

#subdivision .maincopy {
font-size:100%;
line-height:180%;
letter-spacing:3px;
padding-bottom:20px;
}

#subdivision .ex {
font-size:100%;
line-height:180%;
letter-spacing:3px;
}

#subdivision .intro {
padding-bottom:70px;
}

#subdivision .intro .subdivisions {
}

#subdivision .intro .subdivisions .subdivision {
padding-bottom:50px;
}

#subdivision .intro .subdivisions .subdivision:last-child {
padding-bottom:0;
}

#subdivision .intro .subdivisions .subdivision .photo {
width:100%;
height:60vw;
background:url(../subdivision/img/intro_subdivision_2.jpg) center;
background-size:cover;
margin-bottom:25px;
position:relative;
}

#subdivision .intro .subdivisions .subdivision .map {
margin-bottom:50px;
}

#subdivision h5 {
font-size:120%;
line-height:160%;
letter-spacing:3px;
color:#8e8048;
padding-bottom:15px;
}

#subdivision .caution {
font-size:80%;
line-height:210%;
letter-spacing:3px;
padding-top:5px;
}

#subdivision .landscape {
}

#subdivision .landscape .details {
padding-top:50px;
}

#subdivision .landscape .details .detail {
padding-bottom:50px;
}

#subdivision .landscape .details .detail .caution {
text-decoration:underline;
}

#subdivision .landscape .details .detail .photos {
display:flex;
justify-content:space-between;
padding-top:25px;
}

#subdivision .landscape .details .detail .photos .photo {
width:48.5%;
position:relative;
}

#subdivision .voice {
background:url(../subdivision/img/voice_bg.jpg) center;
background-size:cover;
padding:25px 0;
margin-bottom:50px;
}

#subdivision .voice .items {
padding-bottom:25px;
}

#subdivision .voice .items .item {
width:calc(100% - 25px);
}

#subdivision .voice .items .item .voice_subtitle {
border-bottom:#8e8048 1px solid;
padding:0 0 10px 25px;
}

#subdivision .voice .items .item .voice_subtitle img {
width:45%;
}

#subdivision .voice .items .item .voice_title {
font-size:120%;
letter-spacing:3px;
line-height:160%;
color:#8e8048;
padding:15px 0 15px 25px;
}

#subdivision .voice .items .photo {
width:calc(100% - 50px);
margin:auto;
position:relative;
}

#subdivision .message {
width:calc(100% - 50px);
margin:auto;
font-size:100%;
line-height:180%;
letter-spacing:3px;
}



/*ACCESS*/
#access {
}

#access .maintitle {
background:url(../access/img/main.jpg) center;
background-size:cover;
}

#access .maintitle .title h3 {
line-height:160%;
letter-spacing:7px;
text-shadow:0 0 7px rgba(0,0,0,0.3);
}

#access .maintitle .title .kana {
letter-spacing:7px;
text-shadow:0 0 7px rgba(0,0,0,0.3);
line-height:180%;
}

#access .undertitles h4 {
font-size:180%;
letter-spacing:7px;
color:#8e8048;
text-align:center;
}

#access .undertitles .copy {
text-align:center;
}

#access h5 {
font-size:120%;
line-height:160%;
letter-spacing:3px;
color:#8e8048;
padding-bottom:15px;
}

#access .ex {
font-size:100%;
line-height:180%;
letter-spacing:3px;
}

#access .location {
padding-bottom:50px;
}

#access .location .details {
}

#access .location .details .detail {
padding-bottom:50px;
}

#access .location .details .detail:last-child {
padding-bottom:0;
}

#access .location .details .detail .map {
width:100%;
margin:20px auto 0;
}

#access .location .details .detail .shops {
display:flex;
flex-wrap:wrap;
justify-content:space-between;
margin:30px auto 0;
}

#access .location .details .detail .shops .shop {
width:48%;
margin-bottom:20px;
}

#access .location .details .detail .shops .shop:nth-child(n+11) {
margin-bottom:0;
}

#access .location .details .detail .shops .shop .photo {
margin-bottom:10px;
}

#access .location .details .detail .shops .shop  .spot {
font-size:80%;
letter-spacing:1px;
}

#access .location .details .detail .shops .shop  .distance {
font-size:70%
}

#access .caution {
padding-top:40px;
}

#access .caution p {
font-size:70%;
display:flex;
}

#access .access {
padding-bottom:70px;
}

#access .access .map {
margin:20px 0 30px;
}

#access .access .root {
width:100%;
margin:auto;
}



/*CONTACT*/
#contact {
padding-bottom:100px;
}

#contact .steps {
width:100%;
display:flex;
justify-content:space-between;
margin-bottom:30px;
}

#contact .steps .step {
width:29%;
height:70px;
background:rgba(142,128,72,0.2);
position:relative;
text-align:center;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
}

#contact .steps .step.now {
background:rgba(142,128,72,1);
}

#contact .steps .step:after {
content:"";
width:20px;
height:70px;
border-left:rgba(142,128,72,0.2) 20px solid;
border-top:transparent 35px solid;
border-right:transparent 20px solid;
border-bottom:transparent 35px solid;
position:absolute;
right:-40px;
top:0;
}

#contact .steps .step.now:after {
border-left:rgba(142,128,72,1) 20px solid;
}

#contact .steps .step .number {
font-size:70%;
}

#contact .steps .step.now .number {
color:#fff;
}

#contact .steps .step .ex {
font-size:70%;
}

#contact .steps .step.now .ex {
color:#fff;
}

#contact .intro {
text-align:center;
padding-bottom:30px;
}

#contact .intro h3 {
font-size:135%;
color:#8e8048;
padding-bottom:10px;
}

#contact .intro .copy {
line-height:180%;
text-align:left;
font-size:100%;
}

#contact form {
}

#contact form .forms {
}

#contact form .forms .form {
border-bottom:#f0f0f0 1px solid;
padding-bottom:15px;
margin-bottom:15px;
}

#contact form .forms .form.questionnaire {
display:block;
}

#contact form .forms .form.questionnaire .item {
width:100%;
padding-bottom:7px;
}

#contact form .forms .form.questionnaire .item p {
letter-spacing:4px;
font-weight:500;
}

#contact form .forms .form.questionnaire .next_question {
display:none;
padding-bottom:15px;
}

#contact form .forms .form.questionnaire .next_question.open {
display:block;
}

#contact form .forms .form.questionnaire .next_question .hotel_title {
font-size:90%;
font-weight:bold;
padding-bottom:5px;
}

#contact form .forms .form.questionnaire .next_question .hotels {
background:#f6f6f6;
padding:15px 20px;
}

#contact form .forms .form.questionnaire .next_question .hotels .hotel {
width:100%;
}

#contact form .forms .form.questionnaire .detail {
width:100%;
}

#contact form .forms .form:first-child {
border-top:#f0f0f0 1px solid;
padding-top:15px;
}

#contact form .forms .form .item {
width:100%;
font-size:90%;
font-weight:500;
letter-spacing:3px;
margin-bottom:5px;
}

#contact form .forms .form .item span {
letter-spacing:1px;
padding:5px 7px;
margin-right:10px;
}

#contact form .forms .form .item .required {
font-size:70%;
background:#ae0e16;
color:#fff;
}

#contact form .forms .form .item .required:before {
content:"必須";
}

#contact form .forms .form .item .any {
font-size:70%;
color:#b4b4b4;
border:#b4b4b4 1px solid;
}

#contact form .forms .form .item .any:before {
content:"任意";
}

#contact form .forms .form .detail {
width:100%;
font-size:90%;
}

#contact form .forms .form .detail p {
font-size:90%;
}

#contact form .forms .form .detail label {
font-size:110%;
margin-right:10px;
}

#contact form .btns {
display:flex;
justify-content:center;
align-items:center;
}

#contact form input,
#contact form select {
letter-spacing:3px;
}

#contact form select {
width:100%;
padding:15px 20px;
}

#contact form input[type="submit"],
#contact form input[type="button"] {
border:none;
font-size:90%;
padding:15px 20px 15px 30px;
cursor:pointer;
}

#contact form input[type="submit"]:hover,
#contact form input[type="button"]:hover {
-webkit-animation:hover 0.5s ease forwards;
animation:hover 0.5s ease forwards;
}

#contact form input[type="text"],
#contact form input[type="tel"],
#contact form input[type="number"],
#contact form input[type="date"],
#contact form textarea {
padding:15px 20px;
}

#contact form .style_name {
width:100%;
}

#contact form .style_kana {
width:100%;
}

#contact form .style_age {
width:25%;
margin-right:10px;
}

#contact form .style_post {
width:50%;
margin-bottom:10px;
}

#contact form .style_address {
width:100%;
}

#contact form .style_office {
width:100%;
}

#contact form .style_income {
margin-right:10px;
}

#contact form .style_tel {
width:100%;
}

#contact form .style_phone {
width:100%;
}

#contact form .style_mail {
width:100%;
}

#contact form .contact_types {
display:flex;
flex-wrap:wrap;
}

#contact form .contact_types .contact_type {
margin:0 15px 10px 0;
}

#contact form .contact_types .contact_type:nth-child(4) {
width:100%;
margin:0;
}

#contact form .style_contact {
}

#contact form .style_etc {
width:100%;
margin:5px 0 0 0;
}

#contact form .style_hotel_etc {
width:100%;
margin-top:5px;
}

#contact form .style_buy {
width:100%;
margin:5px 0 10px;
}

#contact form .style_hobby {
width:100%;
}

#contact form .style_newspaper {
width:100%;
}

#contact form .style_process {
}

#contact form .style_purpose_etc {
width:100%;
margin-top:5px;
}

#contact form .style_process_etc {
width:100%;
padding:5px 10px;
margin-top:5px;
}

#contact form .style_detail {
width:100%;
height:200px;
}

#contact form .style_select_end {
margin-top:10px;
}

#contact form .style_submit {
background:#ae0e16;
color:#fff;
margin:0 7px;
}

#contact form .style_fix {
background:#aa8c5a;
color:#fff;
margin:0 7px;
}

#contact .warning {
font-size:90%;
color:#ae0e16;
display:block;
}

#contact .attention {
font-size:80%;
text-align:left;
letter-spacing:3px;
padding-top:5px;
}

#contact .back_btn {
margin-top:30px;
text-align:center;
}

#contact .back_btn a {
border:#8e8048 1px dotted;
padding:15px 20px;
color:#8e8048;
font-size:90%;
}



/*PRIVACY*/
#privacy {
padding-bottom:100px;
}

#privacy p {
font-size:95%;
line-height:180%;
}

#privacy .intro {
padding-bottom:50px;
}

#privacy .privacies {
}

#privacy .privacies h3 {
font-size:100%;
padding-bottom:7px;
}

#privacy .privacies .privacy {
padding-bottom:40px;
}

#privacy .privacies .privacy:last-child {
padding-bottom:0;
}

#privacy .privacies .privacy .item {
font-size:100%;
color:#8e8048;
}

#privacy .privacies .privacy .ex {
}

#privacy .privacies .privacy .ex ul {
}

#privacy .privacies .privacy .ex ul li {
font-size:95%;
line-height:180%;
display:flex;
}



/*overview*/
#overview {
padding-bottom:70px;
}

#overview .details {
}

#overview .details p {
line-height:200%;
}

#overview .details .detail {
border-bottom:#e1e1e1 1px solid;
padding-bottom:15px;
margin-bottom:15px;
}

#overview .details .detail:first-child {
border-top:#e1e1e1 1px solid;
padding-top:15px;
}

#overview .details .detail:last-child {
margin-bottom:0;
}

#overview .details .detail .item {
width:100%;
color:#8e8048;
font-size:95%;
line-height:160%;
}

#overview .details .detail .ex {
width:100%;
font-size:95%;
line-height:160%;
}




/*GROBAL*/
#grobal {
position:absolute;
top:0;
right:0;
}

#grobal .nav_btn {
width:60px;
height:60px;
display:flex;
justify-content:center;
align-items:center;
cursor:pointer;
position:absolute;
top:0;
right:0;
z-index:9999;
}

#grobal .nav_btn:hover {
-webkit-animation:hover 0.5s ease forwards;
animation:hover 0.5s ease forwards;
}

#grobal .nav_btn span {
width:32px;
height:3px;
background:#666;
position:absolute;
}

#grobal .nav_btn span:first-child {
top:17px;
transition:0.5s;
}

#grobal .nav_btn span:first-child.show {
top:28.5px;
transform:rotate(45deg);
}

#grobal .nav_btn span:nth-child(2) {
transition:0.5s;
}

#grobal .nav_btn span:nth-child(2).show {
opacity:0;
}

#grobal .nav_btn span:last-child {
bottom:17px;
transition:0.5s;
}

#grobal .nav_btn span:last-child.show {
bottom:28.5px;
transform:rotate(-45deg);
}

#grobal .grobal_nav {
width:100%;
height:100%;
background:rgba(255,255,255,0.95);
position:fixed;
top:0;
left:0;
visibility:hidden;
opacity:0;
transition:0.5s;
padding:50px 0;
overflow:auto;
display:flex;
justify-content:center;
align-items:center;
}

#grobal .grobal_nav.show {
visibility:visible;
opacity:1;
}

#grobal .grobal_nav .menus {
width:80%;
margin:auto;
}

#grobal .grobal_nav .menus .home {
margin-bottom:50px;
text-align:center;
}

#grobal .grobal_nav .menus .home img {
width:300px;
}

#grobal .grobal_nav .menus .menu {
margin-bottom:20px;
}

#grobal .grobal_nav .menus .menu a {
display:flex;
justify-content:space-between;
align-items:center;
}

#grobal .grobal_nav .menus .menu a .photo {
width:30%;
}

#grobal .grobal_nav .menus .menu a nav {
width:65%;
font-size:90%;
letter-spacing:2px;
}

#grobal .grobal_nav .menus .menu_column {
display:flex;
justify-content:space-between;
margin-bottom:15px;
}

#grobal .grobal_nav .menus .menu_column a {
border:#9b0e16 1px solid;
width:48%;
height:50px;
display:flex;
justify-content:center;
align-items:center;
}

#grobal .grobal_nav .menus .menu_column nav {
font-size:90%;
color:#9b0e16;
text-align:center;
}

#grobal .grobal_nav .menus .menu_contact {
margin-bottom:15px
}

#grobal .grobal_nav .menus .menu_contact a {
background:#9b0e16;
width:100%;
height:50px;
display:flex;
justify-content:center;
align-items:center;
}

#grobal .grobal_nav .menus .menu_contact nav {
font-size:90%;
color:#fff;
text-align:center;
}

#grobal .grobal_nav .menus .menu_home {
}

#grobal .grobal_nav .menus .menu_home a {
border:#8e8048 1px dotted;
width:100px;
height:45px;
display:flex;
justify-content:center;
align-items:center;
margin:auto;
}

#grobal .grobal_nav .menus .menu_home nav {
font-size:90%;
color:#8e8048;
text-align:center;
}



/*SCROLL ACTION*/
.photo_scroll {
width:100%;
height:100%;
background:#fff;
position:absolute;
top:0;
left:0;
right:0;
margin:auto;
}



/*FOOTER*/
footer {
padding:30px 0;
}

footer .cts {
}

footer .company {
width:65%;
margin:0 auto 20px;
}

footer .company .position {
font-size:80%;
padding-bottom:15px;
text-align:center;
}

footer .link {
font-size:70%;
text-align:center;
padding-bottom:20px;
}

footer .copyright {
font-size:70%;
text-align:center;
}



}