@charset "utf-8";


/*//////////////////////////////////////////////////
全体
//////////////////////////////////////////////////*/

::selection {color: #fff; background-color: #df6033;}
::-moz-selection {color: #fff; background-color: #df6033;}
@font-face {font-family: ZenKakuGothicNew-M; src: url('font/ZenKakuGothicNew-Medium.ttf') format("truetype");}
@font-face {font-family: ZenKakuGothicNew-B; src: url('font/ZenKakuGothicNew-Bold.ttf') format("truetype");}
@font-face {font-family: Poppins-M; src: url('font/Poppins-Medium.ttf') format("truetype");}

html {width: 100%; height: 100%; font-size: 62.5%; scroll-padding: 120px 0 0;}
body {width: 100%; height: 100%; min-width: 375px; position: relative; z-index: 1; left: 0; top: 0; background-color: #f5e68b;}
header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button {
	font-size: 1.4rem; line-height: 2.0; color: #212121; font-weight: 500; letter-spacing: .1rem; -webkit-text-size-adjust: 100%; word-wrap: break-word; overflow-wrap: break-word; -moz-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; -webkit-font-smoothing: antialiased;
	font-family: 'ZenKakuGothicNew-M', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
header, main, footer {width: 100%; overflow: hidden;}
main, img, video {display: block;}
img {flex-shrink: 0;}
input, textarea, select, button {outline: none;}
input[type="submit"], input[type="button"], input[type="radio"], input[type="checkbox"], select, button {cursor: pointer;}
:-ms-input-placeholder {color: #757575;}
::-moz-placeholder {color: #757575;}
::-webkit-input-placeholder {color: #757575;}
a {text-decoration: none; }
a:link, a:visited, a:hover {color: #212121;}
pre {white-space: pre-wrap;}

.gothic {font-family: 'ZenKakuGothicNew-M', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important; font-weight: 500!important;}
.gothic-b {font-family: 'ZenKakuGothicNew-B', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important; font-weight: 500!important;}
.min {font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif!important; font-weight: 500!important;}
.en {font-family: 'Poppins-M', sans-serif!important; font-weight: 500!important;}

.underline {text-decoration: underline;}
.l-space-n {letter-spacing: normal;}
.l-space-1 {letter-spacing: .1rem;}
.l-space-2 {letter-spacing: .2rem;}
.l-space-4 {letter-spacing: .4rem;}
.l-space-8 {letter-spacing: .8rem;}
.cf:after {content: ''; display: block; clear: both;}
.fit-img img {width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;';}
.fit-img-2 img {width: 100%; height: 100%; object-fit: contain; font-family: 'object-fit: contain;';}
.scroll-style {overflow: scroll; -ms-overflow-style: none; scrollbar-width: none;}
.scroll-style::-webkit-scrollbar {display: none;}
.vertical-txt {-ms-writing-mode: tb-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; text-orientation: upright;}
.keep-txt {word-break: keep-all; white-space: nowrap;}
.margin-0 {margin: 0!important;}
.marker {background: linear-gradient(transparent 68%, #ffff00 0); color: #212121;}
.gra-1 {background: linear-gradient(135deg, #757575, #212121);}

.color-white {color: #fff!important;}
.color-font {color: #212121!important;}
.color-subfont {color: #757575!important;}
.color-line {color: #e0e0e0!important;}
.color-orange {color: #df6033!important;}
.color-yellow {color: #f5e68b!important;}
.color-green {color: #6bb6a1!important;}
.color-beige {color: #dad0ae!important;}

.title-lg {font-size: 2.4rem!important;}
.x-lg {font-size: 2.0rem!important;}
.x-lg-2 {font-size: 1.8rem!important;}
.lg {font-size: 1.6rem!important;}
.md {font-size: 1.4rem!important;}
.sm {font-size: 1.2rem!important;}
.x-sm {font-size: 1.0rem!important;}

@media only screen and (min-width: 640px) {
	header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button {
		font-size: 1.5rem;
	}
	.title-lg {font-size: 3.0rem!important;}
    .x-lg {font-size: 2.4rem!important;}
	.x-lg-2 {font-size: 2.1rem!important;}
	.lg {font-size: 1.8rem!important;}
	.md {font-size: 1.5rem!important;}
	.sm {font-size: 1.3rem!important;}
	.x-sm {font-size: 1.1rem!important;}
}

@media only screen and (min-width: 960px) {
	header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button {
		font-size: 1.6rem;
	}
    .title-lg {font-size: 3.6rem!important;}
	.x-lg {font-size: 2.8rem!important;}
	.x-lg-2 {font-size: 2.4rem!important;}
	.lg {font-size: 2.0rem!important;}
	.md {font-size: 1.6rem!important;}
	.sm {font-size: 1.4rem!important;}
	.x-sm {font-size: 1.2rem!important;}
}

@media (hover: hover) {
	.hover-48 {transition: opacity .4s;}
	.hover-48:hover {opacity: .48;}
	.hover-64 {transition: opacity .4s;}
	.hover-64:hover {opacity: .64;}
}


/*//////////////////////////////////////////////////
共通
//////////////////////////////////////////////////*/

.ol-1 {
	line-height: 1.7; display: inline-block; text-align: left;
}
.ol-1 li {
	list-style: none; counter-increment: cnt; position: relative; z-index: 1; left: 0; top: 0; padding: 0 0 0 24px; margin: 8px 0 0;
}
.ol-1 li:first-of-type {
	margin: 0;
}
.ol-1 li::before {
	content: counter(cnt)"． "; display: inline-block; position: absolute; z-index: 1; left: 0; top: 0;
}

.ul-1 {
	line-height: 1.7; display: inline-block; text-align: left;
}
.ul-1 li {
	list-style: none; position: relative; z-index: 1; left: 0; top: 0; padding: 0 0 0 14px; margin: 8px 0 0;
}
.ul-1.attention li {
	padding: 0 0 0 16px;
}
.ul-1 li:first-of-type {
	margin: 0;
}
.ul-1 li::before {
	content: ''; display: inline-block; background-color: #212121; width: 8px; height: 8px; border-radius: 50%; position: absolute; z-index: 1; left: 0; top: 7px;
}
.ul-1.color-white li::before {
	background-color: #fff;
}
.ul-1.md li::before {
    top: 8px;
}
.ul-1.attention li::before {
	content: '※'; background: none; width: auto; height: auto; border-radius: 0; top: 0!important;
}
.ul-1 span {
	display: inline-block;
}

.table-1 {
    line-height: 1.7; width: 100%; border-top: solid 1px #212121;
}
.table-1 tr {
	border-bottom: solid 1px #212121;
}
.table-1 th {
    padding: 12px; text-align: left; vertical-align: top;
}
.table-1.md th {
    padding: 16px;
}
.table-1 th span {
	display: inline-block;
}
.table-1 td {
    padding: 12px;
}
.table-1.md td {
    padding: 16px;
}
.table-1 td span {
	display: inline-block;
}

#pagetop {
    width: 40px; height: 40px; border-radius: 4px 0 0 0; border-left: solid 1px #fff; border-top: solid 1px #fff; box-sizing: border-box; position: fixed; z-index: 10; right: 0; bottom: -40px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background-color: #df6033; cursor: pointer; opacity: 0; transition: all .4s;
}
#pagetop .arrow {
	display: block; background-image: url("../img/common/common_arrow-white.svg"); background-size: cover; width: 6px; height: 6px; transform: rotate(-90deg);
}

.header-under {
    height: 320px; position: relative; z-index: 1; left: 0; top: 0;
}
.header-under .img {
    height: 100%; position: relative; z-index: 1; left: 0; top: 0;
}
.header-under h1 {
    text-align: 1.7; text-align: center; width: 100%; position: absolute; z-index: 2; left: 0; top: 50%; transform: translate(0, -50%);
}
.header-under h1 .en {
    display: block;
}

.title-layout-1 .en {
    display: block; margin: 0 0 2px;
}

@media only screen and (min-width: 640px) {
	.ol-1 li {
		padding: 0 0 0 26px;
	}
	
	.ul-1 li {
		padding: 0 0 0 16px;
	}
	.ul-1.attention li {
		padding: 0 0 0 18px;
	}
	.ul-1 li::before {
		top: 7.5px;
	}
    .ul-1.md li::before {
        top: 9px;
    }
	
    .table-1 th {
        padding: 14px;
    }
    .table-1.md th {
        padding: 20px;
    }
    .table-1 td {
        padding: 14px;
    }
    .table-1.md td {
        padding: 20px;
    }
	
	#pagetop {
		width: 44px; height: 44px; bottom: -44px;
	}
    #pagetop .arrow {
	    width: 7px; height: 7px;
    }
    
    .header-under {
        height: 480px;
    }
    .header-under h1 {
        transform: translate(0, 0);
    }
    
    .title-layout-1 .en {
        margin: 0 0 3px;
    }
}

@media only screen and (min-width: 960px) {
	.ol-1 li {
		padding: 0 0 0 28px;
	}
	
	.ul-1 li {
		padding: 0 0 0 18px;
	}
	.ul-1.attention li {
		padding: 0 0 0 20px;
	}
	.ul-1 li::before {
		top: 8px;
	}
    .ul-1.md li::before {
        top: 10px;
    }
	
    .table-1 th {
        padding: 16px;
    }
    .table-1.md th {
        padding: 24px;
    }
    .table-1 td {
        padding: 16px;
    }
    .table-1.md td {
        padding: 24px;
    }
    
	#pagetop {
		width: 48px; height: 48px; bottom: -48px;
	}
    #pagetop .arrow {
	    width: 8px; height: 8px;
    }
    
    .header-under {
        height: 640px;
    }
    
    .title-layout-1 .en {
        margin: 0 0 4px;
    }
}

@media only screen and (min-width: 1280px) {
    .title-layout-1 .only-pc {
        display: none;
    }
}

@media (hover: hover) {
	#pagetop .arrow {
		transition: opacity .4s;
	}
	#pagetop:hover .arrow {
		opacity: .48;
	}
}


/*//////////////////////////////////////////////////
アニメーション
//////////////////////////////////////////////////*/

@keyframes btn-1 {
    0% {width: 100%; left: auto; right: 0;}
    100% {width: 0; left: auto; right: 0;}
}
@keyframes btn-2 {
    0% {width: 0; left: 0; right: auto;}
    100% {width: 100%; left: 0; right: auto;}
}

.fade-in {
    opacity: 0; transform: translate(0, 48px); transition: all 1.2s;
}
.fade-in.visible {
    opacity: 1; transform: translate(0, 0);
}


/*//////////////////////////////////////////////////
ローディング
//////////////////////////////////////////////////*/

#loading_cover {
	line-height: 1; width: 100%; min-width: 375px; height: 100vh; position: fixed; z-index: 100; left: 0; top: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background-color: #f5e68b;
}
.loading-logo {
	display: none; width: 160px; height: 103px;
}
.loading-logo img {
	width: 100%; height: 100%;
}

@media only screen and (min-width: 640px) {
    .loading-logo {
	    width: 180px; height: 155px;
    }
}

@media only screen and (min-width: 960px) {
    .loading-logo {
	    width: 240px; height: 207px;
    }
}


/*//////////////////////////////////////////////////
ハンバーガーメニュー
//////////////////////////////////////////////////*/

#humb_wrap {
    line-height: 1; width: 66px; height: 66px; border-radius: 0 0 0 4px; border-left: solid 1px #fff; border-bottom: solid 1px #fff; box-sizing: border-box; position: fixed; z-index: 10; right: 0; top: 0; cursor: pointer; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background-color: #df6033;
}
#humb_wrap .humb-inner {
    display: inline-block;
}
#humb_wrap .humb {
    width: 24px; height: 10px; margin: 0 auto; position: relative; z-index: 1; left: 0; top: 0;
}
#humb_wrap .humb span {
	display: block; width: 100%; height: 2px; background-color: #fff; position: absolute; z-index: 1; left: 0;
}
#humb_wrap .humb span:nth-of-type(1) {
	top: 0;
}
#humb_wrap .humb span:nth-of-type(2) {
	bottom: 0;
}
#humb_wrap .txt {
    font-size: 1.0rem; display: block; transform: scale(0.76); margin: 5px 0 0;
}

@media only screen and (min-width: 640px) {
    #humb_wrap {
        width: 77px; height: 77px;
    }
}

@media only screen and (min-width: 960px) {
    #humb_wrap {
        width: 88px; height: 88px;
    }
}

@media (hover: hover) {	
	#humb_wrap .humb span {
		transition: all .4s;
	}
	#humb_wrap:hover .humb span:nth-of-type(1) {
		top: 50%; transform: translate(0, -50%);
	}
	#humb_wrap:hover .humb span:nth-of-type(2) {
		bottom: 50%; transform: translate(0, 50%);
	}
}


/*//////////////////////////////////////////////////
モーダルメニュー
//////////////////////////////////////////////////*/

#modal_cover {
	display: none; width: 100%; min-width: 375px; height: 100vh; background-color: rgba(255, 255, 255, 0); position: fixed; z-index: 99; left: 0; top: 0;
}

#modal_menu {
    line-height: 1; height: 100vh; background-color: #f5e68b; position: fixed; z-index: 100; right: 0; top: 0; transform: translate(100%, 0); transition: transform .4s;
}
#modal_menu::before, #modal_menu::after {
    content: ''; display: block; width: 100%; height: 40px; position: absolute; z-index: 2; left: 0; top: 0; background: linear-gradient(to top, rgba(245, 230, 139, 0), rgba(245, 230, 139, 1));
}
#modal_menu::after {
    top: auto; bottom: 0; background: linear-gradient(to bottom, rgba(245, 230, 139, 0), rgba(245, 230, 139, 1));
}
#menu_close {
    line-height: 1; width: 66px; height: 66px; border-radius: 0 0 0 4px; border-left: solid 1px #fff; border-bottom: solid 1px #fff; box-sizing: border-box; position: fixed; z-index: 3; right: 0; top: 0; cursor: pointer; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background-color: #df6033;
}
#menu_close .close {
    width: 18px; height: 18px; position: relative; z-index: 1; left: 0; top: 0;
}
#menu_close .close span {
    display: block; width: 100%; height: 2px; background-color: #fff; position: absolute; z-index: 1; left: 0;
}
#menu_close .close span:nth-of-type(1) {
    top: 0; transform: translateY(8px) rotate(-45deg);
}
#menu_close .close span:nth-of-type(2) {
    bottom: 0; transform: translateY(-8px) rotate(45deg);
}
#modal_menu .inner {
    height: 100%; position: relative; z-index: 1; left: 0; top: 0;
}
#modal_menu .wrap {
    padding: 80px;
}
#modal_menu .logo {
    width: 160px; height: 103px; margin: 0 auto;
}
#modal_menu .logo a {
    display: block; width: 100%; height: 100%;
}
#modal_menu .logo a img {
    width: 100%; height: 100%;
}
#modal_menu nav {
    margin: 40px 0 0; text-align: center;
}
#modal_menu nav li {
    margin: 32px 0 0;
}
#modal_menu nav li:first-of-type {
    margin: 0;
}
#modal_menu nav li a {
    display: inline-block;
}
#modal_menu nav li a .en {
    display: block; margin: 0 0 12px;
}
#modal_menu .tel-instagram {
    margin: 40px 0 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px;
}
#modal_menu .tel {
    display: inline-block;
}
#modal_menu .instagram {
    display: block; background-image: url("../img/common/common_instagram.svg"); background-size: cover; width: 14px; height: 14px;
}
#modal_menu .tel-instagram .devider {
    display: block; width: 1px; height: 12px; border-left: solid 1px rgba(0, 0, 0, .32);
}
#modal_menu .rsv {
    display: block; width: 212px; margin: 40px auto 0;
}
#modal_menu .rsv img {
    width: 100%; height: auto;
}

@media only screen and (min-width: 640px) {
    #modal_menu::before, #modal_menu::after {
        height: 52px;
    }
    #menu_close {
        width: 77px; height: 77px;
    }
    #modal_menu .wrap {
        padding: 104px;
    }
    #modal_menu .logo {
        width: 180px; height: 155px;
    }
    #modal_menu nav {
        margin: 46px 0 0;
    }
    #modal_menu nav li {
        margin: 36px 0 0;
    }
    #modal_menu .tel-instagram {
        margin: 46px 0 0; gap: 15px;
    }
    #modal_menu .instagram {
        width: 15px; height: 15px;
    }
    #modal_menu .tel-instagram .devider {
        height: 13px;
    }
    #modal_menu .rsv {
        width: 230px; margin: 46px auto 0;
    }
}

@media only screen and (min-width: 960px) {
    #modal_menu::before, #modal_menu::after {
        height: 64px;
    }
    #menu_close {
        width: 88px; height: 88px;
    }
    #modal_menu .wrap {
        padding: 128px;
    }
    #modal_menu .logo {
        width: 240px; height: 207px;
    }
    #modal_menu nav {
        margin: 52px 0 0;
    }
    #modal_menu nav li {
        margin: 40px 0 0;
    }
    #modal_menu .tel-instagram {
        margin: 52px 0 0; gap: 16px;
    }
    #modal_menu .instagram {
        width: 16px; height: 16px;
    }
    #modal_menu .tel-instagram .devider {
        height: 14px;
    }
    #modal_menu .rsv {
        width: 248px; margin: 52px auto 0;
    }
}

@media (hover: hover) {
    #menu_close .close {
        transition: opacity .4s;
    }
    #menu_close:hover .close {
        opacity: .48;
    }
    #modal_menu nav li a {
        transition: opacity .4s;
    }
    #modal_menu nav li a:hover {
        opacity: .48;
    }
}


/*//////////////////////////////////////////////////
ヘッダー
//////////////////////////////////////////////////*/

header {
	position: relative; z-index: 1; left: 0; top: 0;
}
header .inner {
	line-height: 1; padding: 20px 0; background-color: #f5e68b;
}
header .logo {
    width: 120px; height: 103px; margin: 0 auto;
}
header .logo a {
	display: block; width: 100%; height: 100%;
}
header .logo img {
	width: 100%; height: 100%;
}

@media only screen and (min-width: 640px) {
    header .inner {
        padding: 0; background: none; width: 100%; height: 100%; position: absolute; z-index: 2; left: 0; top: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    }
    header .logo {
        width: 180px; height: 155px; margin: 0;
    }
    header.under {
        position: absolute; z-index: 2; width: 100%; height: 155px;
    }
    header.under .inner {
        justify-content: flex-start; align-items: flex-end;
    }
    header .logo {
        width: 150px; height: 129px; margin: 0 0 0 5%;
    }
}

@media only screen and (min-width: 960px) {
    header .logo {
        width: 240px; height: 207px;
    }
    
    header.under {
        height: 187px;
    }
    header .logo {
        width: 180px; height: 155px; margin: 0 0 0 4%;
    }
}


/*//////////////////////////////////////////////////
フッター
//////////////////////////////////////////////////*/

footer {
	line-height: 1; padding: 60px 0 32px; background-color: #dad0ae;
}
footer .bnr-plan {
    display: block; width: 88%; max-width: 600px; margin: 0 auto;
}
footer .bnr-plan img {
    width: 100%; height: auto;
}
footer .bnr-instagram {
    display: block; width: 66%; max-width: 600px; margin: 44px auto 0;
}
footer .bnr-instagram img {
    width: 100%; height: auto;
}
footer .devider {
    display: block; width: 88%; height: 6px; margin: 60px auto 0; border-top: solid 1px rgba(0, 0, 0, .32); border-bottom: solid 2px rgba(0, 0, 0, .32); box-sizing: border-box;
}
footer .wrap {
    width: 88%; margin: 44px auto 0;
}
footer .yado-info {
    text-align: center;
}
footer .logo {
    width: 160px; height: 103px; margin: 0 auto;
}
footer .logo a {
    display: block; width: 100%; height: 100%;
}
footer .logo a img {
    width: 100%; height: 100%;
}
footer .addr {
    line-height: 1.7; margin: 16px 0 0;
}
footer .addr .space {
    display: none;
}
footer .tel {
    display: inline-block; margin: 16px 0 0;
}
footer .check-in {
    margin: 16px 0 0;
}
footer .check-out {
    margin: 12px 0 0;
}
footer .sitemap {
    margin: 32px 0 0;
}
footer .sitemap ul {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px;
}
footer .sitemap li a {
    display: inline-block;
}
footer .copy {
	width: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 44px 0 0;
}
footer .copy a {
	display: inline-block; width: 44px; height: 13px;
}
footer .copy p {
	display: inline-block;
}

@media only screen and (min-width: 640px) {
    footer {
	    padding: 90px 0 40px;
    }
    footer .bnr-plan {
        width: 90%; max-width: 900px;
    }
    footer .bnr-instagram {
        width: 67.5%; margin: 66px auto 0;
    }
    footer .devider {
        width: 90%; margin: 90px auto 0;
    }
    footer .wrap {
        width: 90%; margin: 66px auto 0;
    }
    footer .logo {
        width: 200px; height: 155px;
    }
    footer .addr {
        line-height: 1; margin: 20px 0 0;
    }
    footer .addr br {
        display: none;
    }
    footer .addr .space {
        display: inline;
    }
    footer .tel {
        margin: 20px 0 0;
    }
    footer .check-in {
        margin: 20px 0 0;
    }
    footer .check-out {
        margin: 14px 0 0;
    }
    footer .sitemap {
        margin: 40px 0 0;
    }
    footer .sitemap ul {
        gap: 20px;
    }
    footer .copy {
	    margin: 66px 0 0;
    }
}

@media only screen and (min-width: 960px) {
    footer {
	    padding: 120px 0 48px;
    }
    footer .bnr-plan {
        width: 92%;
    }
    footer .bnr-instagram {
        width: 69%; margin: 88px auto 0;
    }
    footer .devider {
        width: 92%; margin: 120px auto 0;
    }
    footer .wrap {
        width: 92%; margin: 88px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
    }
    footer .yado-info {
        text-align: left; width: calc(100% - 200px); display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center;
    }
    footer .yado-info-txt {
        width: calc(100% - 240px); padding: 0 0 0 48px; box-sizing: border-box;
    }
    footer .logo {
        width: 240px; height: 207px; margin: 0;
    }
    footer .addr {
        line-height: 1.7; margin: 0;
    }
    footer .addr br {
        display: block;
    }
    footer .addr .space {
        display: none;
    }
    footer .tel {
        margin: 24px 0 0;
    }
    footer .check-in {
        margin: 24px 0 0;
    }
    footer .check-out {
        margin: 16px 0 0;
    }
    footer .sitemap {
       width: 200px; margin: 0;
    }
    footer .sitemap ul {
        display: block;
    }
    footer .sitemap li {
        margin: 24px 0 0;
    }
    footer .sitemap li:first-of-type {
        margin: 0;
    }
    footer .copy {
        margin: 88px 0 0;
    }
}

@media only screen and (min-width: 1280px) {
    footer .devider {
        width: 1200px;
    }
    footer .wrap {
        width: 1200px;
    }
    footer .addr {
        line-height: 1;
    }
    footer .addr br {
        display: none;
    }
    footer .addr .space {
        display: inline;
    }
}

@media (hover: hover) {
    footer .sitemap li a {
        transition: opacity .4s;
    }
    footer .sitemap li a:hover {
        opacity: .48;
    }
}


/*//////////////////////////////////////////////////
01.フロントページ
//////////////////////////////////////////////////*/

#main_visual {
	width: 100%; height: auto; background-image: url("../movie/top.jpg"); background-size: cover; background-position: center center; background-repeat: no-repeat; position: relative; z-index: 1; left: 0; top: 0; overflow: hidden;
}
#main_visual::before {
	content: ''; display: block; padding: 56.25% 0 0;
}
#main_movie {
	width: 100%; height: 100%; position: absolute; z-index: 1; left: 0; top: 0;
}
#main_movie video {
	width: 101%; height: 101%; position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%);
}

.front-page .intro {
    padding: 120px 0 0; position: relative; z-index: 1; left: 0; top: 0;
}
.front-page .intro .txt-wrap {
    width: 88%; margin: 0 auto;
}
.front-page .intro .txt-wrap p {
    margin: 32px 0 0;
}
.front-page .intro .txt-wrap p br {
    display: none;
}
.front-page .intro .img-1 {
    width: 25%; max-width: 300px; position: absolute; z-index: 1; right: 0; top: 60px;
}
.front-page .intro .imgs {
    margin: 80px 0 0; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;
}
.front-page .intro .imgs .img-2 {
    width: 42%;
}
.front-page .intro .imgs .img-3 {
    width: 28%; margin: 40px 0 0 15%;
}
.front-page .intro .img-4 {
    height: 320px; margin: 80px 0 0;
}

.front-page .owner {
    padding: 60px 0; background-color: #6bb6a1;
}
.front-page .owner .inner {
    width: 88%; margin: 0 auto;
}
.front-page .owner .txt-wrap h2 {
    text-align: center;
}
.front-page .owner .txt-wrap p {
    margin: 20px 0 0;
}
.front-page .owner .img {
    margin: 40px 0 0;
}

.front-page .clink {
    padding: 60px 0 0;
}
.front-page .clink.access-sightseeing {
    background-color: #6bb6a1;
}
.front-page .clink .txt-wrap {
    width: 88%; margin: 0 auto;
}
.front-page .clink .txt-wrap h2 {
    line-height: 1.7; text-align: center;
}
.front-page .clink .txt-wrap p {
    margin: 20px 0 0;
}
.front-page .clink .txt-wrap p br {
    display: none;
}
.front-page .clink .img {
    height: 320px; margin: 40px 0 0; position: relative; z-index: 1; left: 0; top: 0;
}
.front-page .clink .img::before {
    content: ''; display: block; width: 100%; height: 120px; position: absolute; z-index: 2; left: 0; bottom: 0; background-color: rgba(0, 0, 0, .32);
}
.front-page .clink .img::after {
        content: ''; display: block; width: 100%; height: 40px; position: absolute; z-index: 2; left: 0; bottom: 120px; background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .32));
}
.front-page .clink a {
    line-height: 1; display: inline-block; position: absolute; z-index: 3; left: 50%; bottom: 60px; transform: translate(-50%, 0); padding: 12px 10px 12px 0;
}
.front-page .clink a::before {
	content: ''; display: block; background-image: url("../img/common/common_arrow-white.svg"); background-size: cover; width: 6px; height: 6px; position: absolute; z-index: 1; right: 0; top: 48%; transform: translate(0, -50%);
}
.front-page .clink a::after {
	content: ''; display: block; width: 100%; height: 1px; background-color: #fff; position: absolute; z-index: 1; right: 0; bottom: 0;
}

@media only screen and (min-width: 640px) {
    .front-page .intro {
        padding: 180px 0 0;
    }
    .front-page .intro .txt-wrap {
        width: 90%;
    }
    .front-page .intro .txt-wrap p {
        margin: 40px 0 0;
    }
    .front-page .intro .img-1 {
        top: 90px;
    }
    .front-page .intro .imgs {
        margin: 120px 0 0;
    }
    .front-page .intro .imgs .img-3 {
        margin: 60px 0 0 15%;
    }
    .front-page .intro .img-4 {
        height: 480px; margin: 120px 0 0;
    }
    
    .front-page .owner {
        padding: 90px 0;
    }
    .front-page .owner .inner {
        width: 90%; max-width: 600px;
    }
    .front-page .owner .txt-wrap p {
        margin: 26px 0 0;
    }
    .front-page .owner .img {
        margin: 52px 0 0;
    }
    
    .front-page .clink {
        padding: 90px 0 0;
    }
    .front-page .clink .txt-wrap {
        width: 90%; max-width: 600px;
    }
    .front-page .clink .txt-wrap p {
        margin: 26px 0 0;
    }
    .front-page .clink .img {
        height: 480px; margin: 52px 0 0;
    }
    .front-page .clink .img::before {
        height: 180px;
    }
    .front-page .clink .img::after {
        height: 60px; bottom: 180px;
    }
    .front-page .clink a {
        bottom: 90px; padding: 14px 12px 14px 0;
    }
    .front-page .clink a::before {
	    width: 7px; height: 7px;
    }
}

@media only screen and (min-width: 960px) {
    .front-page .intro {
        padding: 240px 0 0;
    }
    .front-page .intro .txt-wrap {
        width: 92%;
    }
    .front-page .intro .txt-wrap p {
        margin: 48px 0 0;
    }
    .front-page .intro .img-1 {
        top: 120px;
    }
    .front-page .intro .imgs {
        margin: 160px 0 0;
    }
    .front-page .intro .imgs .img-3 {
        margin: 80px 0 0 15%;
    }
    .front-page .intro .img-4 {
        height: 640px; margin: 160px 0 0;
    }
    
    .front-page .owner {
        padding: 120px 0;
    }
    .front-page .owner .inner {
        width: 92%; max-width: 1200px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    }
    .front-page .owner .txt-wrap {
        width: 50%; padding: 0 88px 0 0; box-sizing: border-box;
    }
    .front-page .owner .txt-wrap h2 {
        text-align: left;
    }
    .front-page .owner .txt-wrap p {
        margin: 32px 0 0;
    }
    .front-page .owner .img {
        margin: 0; width: 50%;
    }
    
    .front-page .clink {
        padding: 120px 0 0;
    }
    .front-page .clink .txt-wrap {
        width: 92%; max-width: 1200px;
    }
    .front-page .clink .txt-wrap p {
        margin: 32px 0 0; text-align: center;
    }
    .front-page .clink .txt-wrap p br {
        display: block;
    }
    .front-page .clink .img {
        height: 640px; margin: 64px 0 0;
    }
    .front-page .clink .img::before {
        height: 240px;
    }
    .front-page .clink .img::after {
        height: 80px; bottom: 240px;
    }
    .front-page .clink a {
        bottom: 120px; padding: 16px 14px 16px 0;
    }
    .front-page .clink a::before {
	    width: 8px; height: 8px;
    }
}

@media only screen and (min-width: 1280px) {
    .front-page .intro .txt-wrap {
        width: 1200px;
    }
    .front-page .intro .txt-wrap p br {
        display: inline-block;
    }
    
    .front-page .owner .inner {
        width: 1200px;
    }
    
    .front-page .clink .txt-wrap {
        width: 1200px;
    }
}

@media only screen and (min-width: 1440px) {
    .front-page .intro .img-1 {
        left: 50%; transform: translate(420px, 0);
    }
    .front-page .intro .imgs {
        width: 1440px; margin: 160px auto 0;
    }
}

@media (hover: hover) {
    .front-page .clink a:hover::after {
	    animation: btn-1 .6s forwards, btn-2 .6s .6s forwards;
    }
}


/*//////////////////////////////////////////////////
02.施設・客室
//////////////////////////////////////////////////*/

.page-facilities .room {
    padding: 60px 0;
}
.page-facilities .room .inner {
    width: 88%; margin: 0 auto;
}
.page-facilities .room h2 {
    line-height: 1.7; text-align: center; margin: 0 0 44px;
}
.page-facilities .room .item h3 {
    line-height: 1.7; text-align: center;
}
.page-facilities .room .item .subtitle {
    line-height: 1.7; text-align: center; margin: 12px 0 0;
}
.page-facilities .room .item .capacity {
    line-height: 1; text-align: center; max-width: 600px; margin: 20px auto 0; padding: 20px 0; border-top: solid 1px rgba(0, 0, 0, .32); border-bottom: solid 1px rgba(0, 0, 0, .32);
}
.page-facilities .room .item .outline {
    max-width: 600px; margin: 20px auto 0;
}
.page-facilities .room .item .outline br {
    display: none;
}
.page-facilities .room .item .swiper-container {
   max-width: 900px; margin: 40px auto 0; position: relative; z-index: 1; left: 0; top: 0; overflow: hidden;
}
.page-facilities .room .item .swiper-wrapper {
   position: relative; z-index: 1; left: 0; top: 0;
}
.page-facilities .room .item .slider-3 {
    margin: 60px auto 0;
}
.page-facilities .room .item .thumb-slider-1 {
   width: 75%; max-width: 675px; margin: 12px auto 0;
}
.page-facilities .room .item .thumb-slider-2 {
   margin: 12px auto 0;
}
.page-facilities .room .item .thumb-slider-3 {
   width: 75%; max-width: 675px; margin: 12px auto 0;
}
.page-facilities .room .item .thumb-slider-1 .swiper-slide:not(.swiper-slide-thumb-active) {
    opacity: .64; cursor: pointer;
}
.page-facilities .room .item .thumb-slider-2 .swiper-slide:not(.swiper-slide-thumb-active) {
    opacity: .64; cursor: pointer;
}
.page-facilities .room .item .thumb-slider-3 .swiper-slide:not(.swiper-slide-thumb-active) {
    opacity: .64; cursor: pointer;
}
.page-facilities .room .devider {
    display: block; height: 6px; margin: 60px 0; border-top: solid 1px rgba(0, 0, 0, .32); border-bottom: solid 2px rgba(0, 0, 0, .32); box-sizing: border-box;
}
.page-facilities .room .amenity .txt-wrap h2 {
    line-height: 2; margin: 0;
}
.page-facilities .room .amenity .txt-wrap p {
    margin: 20px 0 0;
}
.page-facilities .room .amenity .txt-wrap p span {
    display: inline-block;
}
.page-facilities .room .amenity .img {
    margin: 40px 0 0;
}

.page-facilities .cancellation-policy {
    padding: 60px 0; background-color: #6bb6a1;
}
.page-facilities .cancellation-policy .inner {
    width: 88%; max-width: 600px; margin: 0 auto;
}
.page-facilities .cancellation-policy h2 {
    text-align: center;
}
.page-facilities .cancellation-policy .table-1 {
    margin: 32px 0 0;
}
.page-facilities .cancellation-policy .table-1 th {
    text-align: center; width: 50%;
}
.page-facilities .cancellation-policy .table-1 td {
    text-align: center; width: 50%;
}
.page-facilities .cancellation-policy .table-1.pc {
    display: none;
}

@media only screen and (min-width: 640px) {
    .page-facilities .room {
        padding: 90px 0;
    }
    .page-facilities .room .inner {
        width: 90%;
    }
    .page-facilities .room h2 {
        margin: 0 0 66px;
    }
    .page-facilities .room .item .subtitle {
        margin: 14px 0 0;
    }
    .page-facilities .room .item .capacity {
        margin: 26px auto 0; padding: 26px 0;
    }
    .page-facilities .room .item .outline {
        margin: 26px auto 0;
    }
    .page-facilities .room .item .swiper-container {
       margin: 52px auto 0;
    }
    .page-facilities .room .item .slider-3 {
        margin: 90px auto 0;
    }
    .page-facilities .room .item .thumb-slider-1 {
       margin: 14px auto 0;
    }
    .page-facilities .room .item .thumb-slider-2 {
       margin: 14px auto 0;
    }
    .page-facilities .room .item .thumb-slider-3 {
       margin: 14px auto 0;
    }
    .page-facilities .room .devider {
        margin: 90px 0;
    }
    .page-facilities .room .amenity {
        max-width: 600px; margin: 0 auto;
    }
    .page-facilities .room .amenity .txt-wrap p {
        margin: 26px 0 0;
    }
    .page-facilities .room .amenity .img {
        margin: 52px 0 0;
    }
    
    .page-facilities .cancellation-policy {
        padding: 90px 0;
    }
    .page-facilities .cancellation-policy .inner {
        width: 90%;
    }
    .page-facilities .cancellation-policy .table-1 {
        margin: 40px 0 0;
    }
}

@media only screen and (min-width: 960px) {
    .page-facilities .room {
        padding: 120px 0;
    }
    .page-facilities .room .inner {
        width: 92%;
    }
    .page-facilities .room h2 {
        margin: 0 0 88px;
    }
    .page-facilities .room .item .subtitle {
        margin: 16px 0 0;
    }
    .page-facilities .room .item .capacity {
        margin: 32px auto 0; padding: 32px 0;
    }
    .page-facilities .room .item .outline {
        max-width: 1200px; margin: 32px 0 0; text-align: center;
    }
    .page-facilities .room .item .outline br {
        display: block;
    }
    .page-facilities .room .item .swiper-container {
       margin: 64px auto 0;
    }
    .page-facilities .room .item .slider-3 {
        margin: 120px auto 0;
    }
    .page-facilities .room .item .thumb-slider-1 {
       margin: 16px auto 0;
    }
    .page-facilities .room .item .thumb-slider-2 {
       margin: 16px auto 0;
    }
    .page-facilities .room .item .thumb-slider-3 {
       margin: 16px auto 0;
    }
    .page-facilities .room .devider {
        margin: 120px 0;
    }
    .page-facilities .room .amenity {
        max-width: 1200px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    }
    .page-facilities .room .amenity .txt-wrap {
        width: 50%; padding: 0 88px 0 0; box-sizing: border-box;
    }
    .page-facilities .room .amenity .txt-wrap h2 {
        text-align: left;
    }
    .page-facilities .room .amenity .txt-wrap p {
        margin: 32px 0 0;
    }
    .page-facilities .room .amenity .img {
        margin: 0; width: 50%;
    }
    
    .page-facilities .cancellation-policy {
        padding: 120px 0;
    }
    .page-facilities .cancellation-policy .inner {
        width: 92%; max-width: 1200px;
    }
    .page-facilities .cancellation-policy .table-1 {
        margin: 48px 0 0;
    }
    .page-facilities .cancellation-policy .table-1 th {
        width: 25%;
    }
    .page-facilities .cancellation-policy .table-1 td {
        width: 25%;
    }
    .page-facilities .cancellation-policy .table-1.sp {
        display: none;
    }
    .page-facilities .cancellation-policy .table-1.pc {
        display: table;
    }
}

@media only screen and (min-width: 1280px) {
    .page-facilities .room .inner {
        width: 1200px;
    }
    
    .page-facilities .cancellation-policy .inner {
        width: 1200px;
    }
}


/*//////////////////////////////////////////////////
03.別館・スペースグランピング
//////////////////////////////////////////////////*/


/*//////////////////////////////////////////////////
04-1.ひまわり不動産 - 一覧
//////////////////////////////////////////////////*/

.page-estate .property {
    padding: 60px 0;
}
.page-estate .property .inner {
    width: 88%; margin: 0 auto;
}
.page-estate .property h2 {
    text-align: center;
}
.page-estate .property .item-wrap {
    max-width: 360px; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; gap: 40px;
}
.page-estate .property .item {
    line-height: 1.7; background-color: #fff; border-radius: 0 0 8px 8px;
}
.page-estate .property .item .img {
    display: block;
}
.page-estate .property .item .txt-wrap {
    padding: 16px 16px 20px;
}
.page-estate .property .item .txt-wrap h3 {
    display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;
}
.page-estate .property .item .txt-wrap h3 a {
    display: inline-block;
}
.page-estate .property .item .txt-wrap .outline {
    margin: 12px 0 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
}
.page-estate .property .item .txt-wrap .price {
    margin: 12px 0 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
}
.page-estate .property .item .txt-wrap .price .en {
    position: relative; z-index: 1; left: 0; top: 1px;
}

.page-estate .company {
    padding: 60px 0; background-color: #6bb6a1;
}
.page-estate .company .inner {
    width: 88%; max-width: 600px; margin: 0 auto;
}
.page-estate .company h2 {
    text-align: center;
}
.page-estate .company .table-1 {
    margin: 32px 0 0;
}
.page-estate .company .table-1 th {
    display: block; text-align: center;
}
.page-estate .company .table-1 td {
    display: block; border-top: dashed 1px #212121;
}
.page-estate .company .table-1 td .flex-wrap {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
}
.page-estate .company .table-1 td .flex-inner {
    display: inline-block;
}
.page-estate .company .table-1 .only-pc {
    display: none;
}

@media only screen and (min-width: 640px) {
    .page-estate .property {
        padding: 90px 0;
    }
    .page-estate .property .inner {
        width: 90%;
    }
    .page-estate .property .item-wrap {
        max-width: 770px; margin: 40px auto 0; gap: 50px;
    }
    .page-estate .property .item {
        width: calc(50% - 25px);
    }
    .page-estate .property .item .txt-wrap {
        padding: 20px 20px 26px;
    }
    .page-estate .property .item .txt-wrap .outline {
        margin: 14px 0 0;
    }
    .page-estate .property .item .txt-wrap .price {
        margin: 14px 0 0;
    }
    
    .page-estate .company {
        padding: 90px 0;
    }
    .page-estate .company .inner {
        width: 90%;
    }
    .page-estate .company .table-1 {
        margin: 40px 0 0;
    }
}

@media only screen and (min-width: 960px) {
    .page-estate {
        overflow: visible;
    }
    
    .page-estate .property {
        padding: 120px 0;
    }
    .page-estate .property .inner {
        width: 92%;
    }
    .page-estate .property .item-wrap {
        max-width: 1200px; margin: 48px auto 0; gap: 60px;
    }
    .page-estate .property .item {
        width: calc(33.3% - 40px);
    }
    .page-estate .property .item .txt-wrap {
        padding: 24px 24px 32px;
    }
    .page-estate .property .item .txt-wrap .outline {
        margin: 16px 0 0;
    }
    .page-estate .property .item .txt-wrap .price {
        margin: 16px 0 0;
    }
    
    .page-estate .company {
        padding: 120px 0;
    }
    .page-estate .company .inner {
        width: 92%; max-width: 1200px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;
    }
    .page-estate .company h2 {
        text-align: left; width: 480px; position: sticky; top: 64px;
    }
    .page-estate .company .table-1 {
        margin: 0; width: calc(100% - 480px);
    }
    .page-estate .company .table-1 th {
        text-align: left;
    }
    .page-estate .company .table-1 td .flex-wrap {
        justify-content: flex-start;
    }
}

@media only screen and (min-width: 1280px) {    
    .page-estate .property .inner {
        width: 1200px;
    }
    
    .page-estate .company .inner {
        width: 1200px;
    }
    .page-estate .company .table-1 .only-sp {
        display: none;
    }
    .page-estate .company .table-1 .only-pc {
        display: inline;
    }
}

@media (hover: hover) {
    .page-estate .property .item .img {
        overflow: hidden;
    }
    .page-estate .property .item .img img {
        transition: transform .8s;
    }
    .page-estate .property .item .img:hover img {
        transform: scale(1.08);
    }
}


/*//////////////////////////////////////////////////
04-2.ひまわり不動産 - 詳細
//////////////////////////////////////////////////*/

.single-estate .property {
    line-height: 1.7; padding: 40px 0 60px;
}
.single-estate .property .inner {
    width: 88%; max-width: 900px; margin: 0 auto;
}
.single-estate .property article {
    margin: 40px 0 0; background-color: #fff; padding: 24px 24px 40px; border-radius: 12px;
}
.single-estate .property article h2 {
    margin: 0 0 12px; padding: 0 0 12px; border-bottom: solid 1px #e0e0e0;
}
.single-estate .property article .date {
	text-align: right; margin: 0 0 20px;
}
.single-estate .property article h3 {
    margin: 0 0 12px; position: relative; z-index: 1; left: 0; top: 0; padding: 0 0 0 14px;
}
.single-estate .property article h3::before {
    content: ''; display: block; width: 6px; border-radius: 1px; height: 64%; background-color: #6bb6a1; position: absolute; z-index: 1; left: 0; top: 54%; transform: translate(0, -50%);
}
.single-estate .property article .gallery {
    margin: 32px 0 0;
}
.single-estate .property article .gallery .img {
    margin: 2px 0 0;
}
.single-estate .property article .gallery .img:first-of-type {
    margin: 0;
}
.single-estate .property article .spacer {
    height: 32px;
}
.single-estate .property .back {
    text-align: center; margin: 28px 0 0;
}
.single-estate .property .back a {
    line-height: 1; display: inline-block; position: relative; z-index: 1; left: 0; bottom: 0; padding: 12px 0 12px 10px;
}
.single-estate .property .back a::before {
	content: ''; display: block; background-image: url("../img/common/common_arrow.svg"); background-size: cover; width: 6px; height: 6px; position: absolute; z-index: 1; left: 0; top: 48%; transform: translate(0, -50%) scale(-1, 1);
}
.single-estate .property .back a::after {
	content: ''; display: block; width: 100%; height: 1px; background-color: #212121; position: absolute; z-index: 1; right: 0; bottom: 0;
}

@media only screen and (min-width: 640px) {
    .single-estate .property {
        padding: 52px 0 90px;
    }
    .single-estate .property .inner {
        width: 90%;
    }
    .single-estate .property article {
        margin: 52px 0 0;padding: 36px 36px 52px; border-radius: 14px;
    }
    .single-estate .property article h2 {
        margin: 0 0 14px; padding: 0 0 14px;
    }
    .single-estate .property article .date {
	    margin: 0 0 26px;
    }
    .single-estate .property article h3 {
        margin: 0 0 14px; padding: 0 0 0 16px;
    }
    .single-estate .property article .gallery {
        margin: 40px 0 0;
    }
    .single-estate .property article .spacer {
        height: 40px;
    }
    .single-estate .property .back {
        margin: 38px 0 0;
    }
    .single-estate .property .back a {
        padding: 14px 0 14px 12px;
    }
    .single-estate .property .back a::before {
	    width: 7px; height: 7px;
    }
}

@media only screen and (min-width: 960px) {
    .single-estate .property {
        padding: 64px 0 120px;
    }
    .single-estate .property .inner {
        width: 92%;
    }
    .single-estate .property article {
        margin: 64px 0 0;padding: 48px 48px 64px; border-radius: 16px;
    }
    .single-estate .property article h2 {
        margin: 0 0 16px; padding: 0 0 16px;
    }
    .single-estate .property article .date {
	    margin: 0 0 32px;
    }
    .single-estate .property article h3 {
        margin: 0 0 16px; padding: 0 0 0 18px;
    }
    .single-estate .property article .gallery {
        margin: 48px 0 0;
    }
    .single-estate .property article .spacer {
        height: 48px;
    }
    .single-estate .property .back {
        margin: 48px 0 0;
    }
    .single-estate .property .back a {
        padding: 16px 0 16px 14px;
    }
    .single-estate .property .back a::before {
	    width: 8px; height: 8px;
    }
}

@media (hover: hover) {
    .single-estate .property .back a:hover::after {
	    animation: btn-1 .6s forwards, btn-2 .6s .6s forwards;
    }
}


/*//////////////////////////////////////////////////
05.アクセス＆周辺
//////////////////////////////////////////////////*/

.page-access-sightseeing .access {
    padding: 60px 0;
}
.page-access-sightseeing .access .inner {
    width: 88%; margin: 0 auto;
}
.page-access-sightseeing .access h2 {
    text-align: center;
}
.page-access-sightseeing .access .map-tab {
    margin: 32px 0 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; border-bottom: solid 2px #df6033;
}
.page-access-sightseeing .access .map-tab div {
    line-height: 1; text-align: center; color: #df6033; background-color: #fff; width: calc(33.3% - 1px); padding: 12px 0;
}
.page-access-sightseeing .access .map-tab div:not(.active) {
    cursor: pointer;
}
.page-access-sightseeing .access .map-tab div.active {
    color: #fff; background-color: #df6033; padding: 16px 0;
}
.page-access-sightseeing .access .gmap {
    height: 320px; margin: 2px 0 0;
}
.page-access-sightseeing .access .gmap div {
    display: none; height: 100%;
}
.page-access-sightseeing .access .gmap div.active {
    display: block;
}
.page-access-sightseeing .access .devider {
    display: block; height: 6px; margin: 40px 0; border-top: solid 1px rgba(0, 0, 0, .32); border-bottom: solid 2px rgba(0, 0, 0, .32); box-sizing: border-box;
}
.page-access-sightseeing .access .yado-info {
    line-height: 1; text-align: center;
}
.page-access-sightseeing .access .logo {
    width: 160px; height: 103px; margin: 0 auto;
}
.page-access-sightseeing .access .logo img {
    width: 100%; height: 100%;
}
.page-access-sightseeing .access .addr {
    line-height: 1.7; margin: 16px 0 0;
}
.page-access-sightseeing .access .addr .space {
    display: none;
}
.page-access-sightseeing .access .tel {
    display: inline-block; margin: 16px 0 0;
}
.page-access-sightseeing .access .check-in {
    margin: 16px 0 0;
}
.page-access-sightseeing .access .check-out {
    margin: 12px 0 0;
}

.page-access-sightseeing .spot {
    padding: 60px 0; background-color: #6bb6a1;
}
.page-access-sightseeing .spot .inner {
    width: 88%; margin: 0 auto;
}
.page-access-sightseeing .spot h2 {
    text-align: center;
}
.page-access-sightseeing .spot .item-wrap {
    max-width: 360px; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; gap: 40px;
}
.page-access-sightseeing .spot .item {
    line-height: 1.7; background-color: #fff; border-radius: 0 0 8px 8px; position: relative; z-index: 1; left: 0; top: 0;
}
.page-access-sightseeing .spot .item .fukidashi {
    width: 120px; height: 120px; border-radius: 50%; background-color: #f5e68b; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: absolute; z-index: 2; left: -22px; top: -22px;
}
.page-access-sightseeing .spot .item .fukidashi p {
    text-align: center; display: inline-block;
}
.page-access-sightseeing .spot .item .img {
    display: block; position: relative; z-index: 1; left: 0; top: 0;
}
.page-access-sightseeing .spot .item .img img {
    position: relative; z-index: 1; left: 0; top: 0;
}
.page-access-sightseeing .spot .item .img::before {
    content: ''; display: block; width: 36px; height: 36px; background-color: rgba(255, 255, 255, .88); position: absolute; z-index: 2; right: 0; top: 0;
}
.page-access-sightseeing .spot .item .img::after {
    content: ''; display: block; width: 12px; height: 12px; background-image: url("../img/common/common_exlink.svg"); background-size: cover; position: absolute; z-index: 3; right: 12px; top: 12px;
}
.page-access-sightseeing .spot .item .txt-wrap {
    padding: 28px 16px 20px; position: relative; z-index: 2; left: 0; top: 0;
}
.page-access-sightseeing .spot .item .time {
    line-height: 1; display: inline-block; position: absolute; z-index: 4; left: 50%; top: 0; transform: translate(-50%, -50%); background-color: #f5e68b; padding: 6px 12px; border-radius: 24px;
}
.page-access-sightseeing .spot .item .txt-wrap h3 {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
}
.page-access-sightseeing .spot .item .txt-wrap h3 a {
    display: inline-block;
}
.page-access-sightseeing .spot .item .txt-wrap p {
    margin: 12px 0 0;
}

@media only screen and (min-width: 640px) {
    .page-access-sightseeing .access {
        padding: 90px 0;
    }
    .page-access-sightseeing .access .inner {
        width: 90%;
    }
    .page-access-sightseeing .access .map-tab {
        margin: 40px 0 0;
    }
    .page-access-sightseeing .access .map-tab div {
        padding: 14px 0;
    }
    .page-access-sightseeing .access .map-tab div.active {
        padding: 20px 0;
    }
    .page-access-sightseeing .access .gmap {
        height: 400px;
    }
    .page-access-sightseeing .access .devider {
        margin: 52px 0;
    }
    .page-access-sightseeing .access .logo {
        width: 200px; height: 155px;
    }
    .page-access-sightseeing .access .addr {
        line-height: 1; margin: 20px 0 0;
    }
    .page-access-sightseeing .access .addr br {
        display: none;
    }
    .page-access-sightseeing .access .addr .space {
        display: inline;
    }
    .page-access-sightseeing .access .tel {
        margin: 20px 0 0;
    }
    .page-access-sightseeing .access .check-in {
        margin: 20px 0 0;
    }
    .page-access-sightseeing .access .check-out {
        margin: 14px 0 0;
    }
    
    .page-access-sightseeing .spot {
        padding: 90px 0;
    }
    .page-access-sightseeing .spot .inner {
        width: 90%;
    }
    .page-access-sightseeing .spot .item-wrap {
        max-width: 770px; margin: 40px auto 0; gap: 50px;
    }
    .page-access-sightseeing .spot .item {
        width: calc(50% - 25px);
    }
    .page-access-sightseeing .spot .item .fukidashi {
        width: 130px; height: 130px; left: -32px; top: -32px;
    }
    .page-access-sightseeing .spot .item .txt-wrap {
        padding: 32px 20px 26px;
    }
    .page-access-sightseeing .spot .item .time {
        padding: 7px 14px; border-radius: 28px;
    }
    .page-access-sightseeing .spot .item .txt-wrap p {
        margin: 14px 0 0;
    }
}

@media only screen and (min-width: 960px) {
    .page-access-sightseeing .access {
        padding: 120px 0;
    }
    .page-access-sightseeing .access .inner {
        width: 92%;
    }
    .page-access-sightseeing .access .map-tab {
        margin: 48px 0 0;
    }
    .page-access-sightseeing .access .map-tab div {
        padding: 16px 0;
    }
    .page-access-sightseeing .access .map-tab div.active {
        padding: 24px 0;
    }
    .page-access-sightseeing .access .gmap {
        height: 480px;
    }
    .page-access-sightseeing .access .devider {
        margin: 64px 0;
    }
    .page-access-sightseeing .access .yado-info {
        text-align: left; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    }
    .page-access-sightseeing .access .yado-info-txt {
        display: inline-block; padding: 0 0 0 48px;
    }
    .page-access-sightseeing .access .logo {
        width: 240px; height: 207px; margin: 0;
    }
    .page-access-sightseeing .access .tel {
        margin: 24px 0 0;
    }
    .page-access-sightseeing .access .check-in {
        margin: 24px 0 0;
    }
    .page-access-sightseeing .access .check-out {
        margin: 16px 0 0;
    }
    
    .page-access-sightseeing .spot {
        padding: 120px 0;
    }
    .page-access-sightseeing .spot .inner {
        width: 92%;
    }
    .page-access-sightseeing .spot .item-wrap {
        max-width: 1200px; margin: 48px auto 0; gap: 60px;
    }
    .page-access-sightseeing .spot .item {
        width: calc(33.3% - 40px);
    }
    .page-access-sightseeing .spot .item .fukidashi {
        width: 140px; height: 140px; left: -38px; top: -38px;
    }
    .page-access-sightseeing .spot .item .txt-wrap {
        padding: 36px 24px 32px;
    }
    .page-access-sightseeing .spot .item .time {
        padding: 8px 16px; border-radius: 32px;
    }
    .page-access-sightseeing .spot .item .txt-wrap p {
        margin: 16px 0 0;
    }
}

@media only screen and (min-width: 1280px) {
    .page-access-sightseeing .access .inner {
        width: 1200px;
    }
    
    .page-access-sightseeing .spot .inner {
        width: 1200px;
    }
}

@media (hover: hover) {
    .page-access-sightseeing .access .map-tab div {
        transition: color .4s, background .4s;
    }
    .page-access-sightseeing .access .map-tab div:hover {
        color: #fff; background-color: #df6033;
    }
    
    .page-access-sightseeing .spot .item .img {
        overflow: hidden;
    }
    .page-access-sightseeing .spot .item .img img {
        transition: transform .8s;
    }
    .page-access-sightseeing .spot .item .img:hover img {
        transform: scale(1.08);
    }
}



/*追加CSS*/
.adjust01{
	display: block;
    margin: 0 0 12px;
}
.adjust02{
	line-height: 2rem;
}


/* Pager style（外部化可） */
.pager{
	text-align:right;
	padding:10px;
	clear:both;
}
/*ページャーボタン*/
.pager a{
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #333;
    font-size: 12px;
    padding: 3px 7px 2px;
    text-decoration: none;
	margin:0 1px;
}

/*現在のページのボタン*/
.pager a.current{
    background: #999;
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #fff;
    font-size: 12px;
    padding: 3px 7px 2px;
	margin:0 1px;
    text-decoration: none;
}

.pager a:hover{
    background:#999;
    color: #fff;
}

.overPagerPattern{
	padding:0 2px ;	
}

.kanri{
	font-size: 12px;
	text-align: right;
	margin-top: 25px;
}

.kanri a{
	color: #b7b6b6;
}
