@charset "UTF-8";

/* =============================================
	mobile menu settings
=============================================　*/
/* Mobile Menu Button */
#menu-button{
	visibility:hidden;
	opacity:0;
	display: none;
	justify-content: end;
	align-items: center;
	z-index: 900;
	width: auto;
	height: auto;
	background-color: unset;
}
#menu-button.nav-on {
	visibility:visible;
	opacity:1;
}
#menu-button .ham-lines {
	position: relative;
	width: 32px;
	height: 32px;
}
#menu-button .ham-lines span,
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	position: absolute;
	display: block;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 28px;
	height: 2px;
	background-color: #fff;
	border-radius: 1px;
}
#menu-button .ham-lines span {
	bottom: 15px;
	transition: all .25s .25s;
	opacity: 1;
}
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	content: "";
}
#menu-button .ham-lines::before{
	bottom: 24px;
	animation: menu-bar01 .75s forwards;
}
#menu-button .ham-lines::after {
	bottom: 6px;
	animation: menu-bar03 .75s forwards;
}
#menu-button .ham-text {
	font-size: 12px;
	line-height: 1;
}
#menu-button.is-active .ham-lines span {
	opacity: 0;
}
#menu-button.is-active .ham-lines::before {
	animation: active-menu-bar01 .5s forwards;
}
#menu-button.is-active .ham-lines::after {
	animation: active-menu-bar03 .5s forwards;
}
@keyframes menu-bar01 {
	0% {
		transform: translateY(9px) rotate(45deg);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes menu-bar03 {
	0% {
		transform: translateY(-9px) rotate(-45deg);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes active-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(9px) rotate(45deg);
	}
}
@keyframes active-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(-9px) rotate(-45deg);
	}
}
/* Mobile Menu Button end */

/* =============================================

	Common settings

============================================= */
/* table border and paddings */
table th,
table td{
	border: 1px solid #424242;
	padding: 10px;
}
/* width-re */
body .pagewidth,
body .row_inner {
	width:100%;
	max-width:100%;
}

/*cs*/
.page-template-horizon-scroll-theame {
	height: 100vh;
	overflow-x: auto;
	overflow-y: hidden;
	box-sizing:border-box;
}
.page-template-horizon-scroll-theame .scroll-section-wrap .tb-column-inner{
	display: flex;
/* 	height: calc(100vh - 62px); */
	height: 100vh;
/* 	margin-top:62px; */
}
.vw5 .tb-column-inner{
	width:500vw;
}
body.page-template-horizon-scroll-theame .scroll-section-wrap .scroll-section .tb-column-inner{
	display:block;
	height:auto;
	width:auto;
	margin-top:0px;
}
.page-template-horizon-scroll-theame #pagewrap .scroll-section {
	flex: 0 0 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}
.scroll-section .module_column{
/* 	height: calc(100vh - 62px); */
	height:100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.samesection-table.scroll-section .module_column{
    align-items: flex-start;
}
#pagewrap .fixed-nav{
	width:100%;
	position:fixed;
	bottom:50px;
}
#pagewrap .fixed-nav ul{
	display:flex;
	justify-content:space-between;
	margin:0 .5em;
}
#pagewrap .fixed-nav ul li{
	list-style:none;
}
.progress-bar-wrapper {
  height: 4px;
  width: 100%;
  background: #eee; /* グレーベース */
  z-index: 9999;
}
.progress-bar {
  height: 100%;
  width: 0%;
  background: red; /* 黒ベース（アクティブ部分） */
  transition: width 0.1s linear;
}
.hs-hd#headerwrap{
	position:fixed;
	top:0;
	left:0;
	z-index:999;
	width: 100%;
    background: #000;
}
/* body:not(.home) .hs-hd#headerwrap{
	background: #252525;
} */
body .hs-ft#footerwrap{
	position:fixed;
	bottom:0px;
	width:100%;
}
body:not(.home) #footerwrap{
	display:none;
}
body .hs-hd#headerwrap .header{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	align-items:center;
	padding:0;
}
.hs-hd .header .main-menu{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:0;
	line-height: 1;
    height: 100%;
}
.hs-hd .header .main-menu li{
	list-style:none;
	margin:0;
	height: 100%;
    display: flex;
    align-items: center;
}
.noeventslinks > a{ pointer-events: none; }
.hs-hd .main-menu-container{
	height:100%;
}
.hs-hd .main-menu-container a{
	color:#fff;
	font-family:"myriad-pro-semi-condensed", sans-serif;
	letter-spacing:0.12em;
}
.snswrap{
	text-align:end;
}
.snswrap a{
	margin-right:2.5em;
}
.snswrap a img{
	vertical-align:middle;
}
.gaBtlist ul{
	display:grid;
	grid-template-columns:1fr 1fr;
    gap: 32px;
	margin:10px 0 0;
}
.gaBtlist ul li{
	border: 1px solid #fff;
    list-style: none;
    width: 320px;
    margin: auto;
}
.gaBtlist ul li a{
	color: #fff;
    line-height: 1;
    display: block;
    padding: 1.5em 0;
	transition:.3s linear;
}
.ccTxt{
	font-family:"myriad-pro-semi-condensed", sans-serif;
	font-size:14px;
	color:#fff;
}
.btn--rink__og .module-buttons-item a:hover{
	background:#fff;
}
.btn--rink__og .module-buttons-item a:hover span{
	color:#000;
}
.gaBtlist ul li a:hover{
    color: #000;
	background:#fff;
	text-decoration:none;
}
body .mfp-title{
	display:none;
}
body img.mfp-img {
    padding: 40px 0 10px;
}
.opacitycs{
	opacity:0;
}
/* -------
menu sub
---------*/
#main-menu .menu-item-has-children{
}
#main-menu  li .sub-menu{
    z-index:9;
    display: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 100%;
    width: auto;
    transform: translateX(0%);
	background-color:#000;
}
#main-menu  li .sub-menu li{
    list-style: none;
    margin: 0;
    padding: 0;
}
#main-menu  li .sub-menu li a{
    display: block;
    text-align: center;
    padding: 0px 2.15em;
    color: #fff;
    font-size: 14px;
    background-color: transparent;
    line-height: 40px;
}
/*sub hover*/
#main-menu > li:not(.not-sub):hover .sub-menu{
    display: block;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 100%;
    width: auto;
    transform: translateX(0%);
    overflow: hidden;
}
/*cs contents*/
.section-table{
	width:756px;
	margin:auto;
	text-align:center;
	margin: 0 auto 8rem;
}
.samesection-table .section-table{
	margin: 238px auto 12rem;
}
.section-table .module-title{
	margin: 0 0 8rem;
    color: #fff;
    font-size: 6rem;
    letter-spacing: 0.1em;
	line-height:1;
    font-weight: 300;
	font-family:"myriad-pro-semi-condensed", sans-serif;
}
.samesection-table .section-table .module-title{
	margin: 0 0 12rem;
}
.section-table p{
	margin:0 0 3rem;
}
.section-table p:last-child{
	margin:0;
}
body .section-table.section-tablelast{
	margin: 0 auto;
    position: absolute;
    bottom: 5px;
    width: fit-content;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
}
.btn--rink__og{
	text-align:center;
	overflow:hidden;
}
.btn--rink__og .module-buttons-item{
	position:relative;
}
.btn--rink__og .module-buttons-item a span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	height:100%;
	z-index:4;
	transition: all .5s cubic-bezier(.473,.427,0,.993);
}
.btn--rink__og .module-buttons-item a{
	width: 320px;
    background: none;
    border: 1px solid #fff;
    color: #fff;
	padding: 1.29em 0;
}
/*table*/
.tableOg table td{
	border:none;
	padding:0;
	text-align: left;
}
.tableOg table{
	border:solid #fff;
	border-width:0 1px 0 1px;
}
.tableOg table tr td:first-child{
	padding-left: 4.374em;
	padding-right: 3em;
	vertical-align: baseline;
}
body:not(.home){
	background:#000;
}
.subGarow .submainTit .module-title{
	font-family:"myriad-pro-semi-condensed", sans-serif;
	font-feature-settings: "liga";
	font-size:6rem;
	margin:0px 0 70px;
	line-height:1;
	color:#fff;
	letter-spacing:0.1em;
	font-weight:300;
	text-align:center;
}
.gaImg{
	width:100%;
}
.subGarow{
	padding:90px;
	height:auto;
	display:flex;
	align-items:center;
}
.module_row .oneviewCo{
	height:100vh;
	padding-top:62px;
}
.subMaintitle .module-title{
	font-size: 6rem;
    letter-spacing: 0.1em;
    line-height: 1;
    font-weight: 300;
    font-family: "myriad-pro-semi-condensed", sans-serif;
	margin:0 0 15rem 0;
}
#map_canvas{
	height: calc(100vh - 62px);
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}
.module_row .subfullCol{
	max-width:615px;
	width:100%;
	margin:0 auto;
	display:block;
}
.tableOg.sub_tableOg table{
	border:0;
}
.tableOg.sub_tableOg table tr td:first-child{
	padding-left:0;
}
body .module_row .ccTxt_subright{
	position:absolute;
	bottom:25px;
	left:50%;
	transform: translateX(-50%);
	width: 100%;
    text-align: center;
}
.subOneColwrap .row_inner{
	max-width:1200px;
	width:100%;
	margin:0 auto;
}
.pbTxt .tb_text_wrap{
	height:250px;
	overflow:auto;
}
.pbTxt .tb_text_wrap::-webkit-scrollbar{
	width: 15px;
	background-color: #252525;
}
.pbTxt .tb_text_wrap::-webkit-scrollbar-thumb{
   background-color: #fff;
	border-radius:0px;
}
/* =============================================

	Media Query

============================================= */
@media screen and (max-width: 1400px) { /* for iPad pro landscapes */

}

@media screen and (max-width: 1180px) { /* for tablet landscapes */

	#pagewrap {
		position: relative;
/* 		padding-bottom: 51px; */
	}
	body #menu-button{
		display:flex;
		margin-right: 1.25em;
	}
	body .hs-hd#headerwrap .header {
		padding-top: 0;
		grid-template-columns: 1fr 1fr;
	}
	.snswrap.spsns a {
		margin-right: 1.25em;
	}

	/* module menu button visible */
	#menu-button{
		visibility:visible;
		opacity:1;
	}
	
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */
	#main-menu-container {
		position: fixed;
		z-index: 700;
		top: 0;
		left: -100vw;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		background-color: #000;
		display:block;
		width: 100vw;
		height: 100vh;
		transition: .3s linear;
	}
	#main-menu-container.is-active{
		left: 0;	
	}
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */

}

@media screen and (max-width: 1024px) { /* for tablet landscape */

	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/
	.wpcf7 table tr th,
	.wpcf7 table tr td{
		width:100%;
		display:block;
		padding: 10px 0px;
	}
	.wpcf7 table tr th{
		padding-bottom:0;
	}
	body .samesection-table.scroll-section .module_column{
		align-items: center;
	}
	body .samesection-table .section-table{
		margin: 0 0 12rem;
	}
	body #main-menu li .sub-menu {
		display: block;
		position: relative;
		top: 0;
		margin-top: 10px;
	}
	body #main-menu li .sub-menu a:before{
		content:"-";
		margin-right: 10px;
	}
	body .hs-hd .header .main-menu {
		flex-direction: column;
		justify-content: center;
		height: 100%;
		gap: 35px;
	}
	body #main-menu > li:not(.not-sub):hover .sub-menu{
		position:relative;
		top:0;
		margin-top: 10px;
	}
	body .hs-hd .header .main-menu li {
		height:auto;
		flex-direction: column;
	}
	.pcsns{
		display:none;
	}
	body .subGarow{
		padding:30px 10px;
		height:auto;
	}
	body .subGarow .submainTit .module-title{
		margin:0px 0 60px;
	}
	body #site-logo a {
        width: 50%;
		margin: 8px 0 8px 10px;
    }
	body .module_row .subfullCol {
		width: 75%
	}
	.subfullCol .tableOg table tr td:first-child {
		width: 30%;
		padding-right: 1em;
	}
	body .subOneColwrap .row_inner {
		width:90%;
	}
	.wpcf7 tbody,
	.wpcf7 tbody tr,
	.wpcf7 tbody tr td{
		display:block;
	}
	body .wpcf7 table tr th,
	body .wpcf7 table tr td {
		padding: 1.5em 0 0;
		border: none;
		width: 100%;
	}
	#pagewrap .gaImg .image-wrap{
		float:none;
		margin:0;
	}
}

@media screen and (max-width: 980px) { /* for mobile landscape */
	#pc-backtop {
		display: none;
	}
/* 	#footer .sp-footer-icons-container {
		display: flex;
	} */
}

@media screen and (max-width: 820px) { /* for tablet portrate */
	#pc-backtop {

	}
	#footer .sp-footer-icons-container {

	}
	body .subGarow .submainTit .module-title{
		font-size:3rem;
	}
}

@media screen and (max-width: 768px) { /* for mobile  */
	.page-template-horizon-scroll-theame {
		height: auto;
		overflow-x: auto;
		overflow-y: auto;
		box-sizing:border-box;
	}
	.page-template-horizon-scroll-theame .scroll-section-wrap .tb-column-inner{
		display: block;
		height: auto;
		width:auto;
	}
	.page-template-horizon-scroll-theame #pagewrap .scroll-section {
		height: 100vh;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	body .section-table {
		width:96%;
		margin:0 auto;
	}
	.progress-bar{
		display:none;
	}
	body .samesection-table.scroll-section .module_column {
		align-items: center;
		margin-top: 0;
	}
	.gaBtlist ul {
		display:block;
	}
	body .section-table .module-title{
		font-size:3rem;
	}
	#pagewrap .section-table .module-title {
		margin: 0 0 3rem;
	}
	#pagewrap .section-table {
		margin: 0 auto 3rem;
	}
	#pagewrap .section-tableone{
		margin:0 auto;
		width: 100%;
        padding: 0 3rem;
	}
	body .tableOg table tr td:first-child {
		padding-left: 0.5em;
		padding-right:0;
		width: 25%;
	}
	.tableOg table{
		width: 96%;
		margin:auto;
	}
	.gaBtlist ul li {
		margin-bottom: 2.5em;
	}
	.gaBtlist ul li:last-child{
		margin-bottom: 0;
	}
	body:not(.home) #pagewrap #layout {
		margin-top: 0px;
	}
	#footerwrap{
		display:none;
	}
	.spnone{
		display:none;
	}
	.scroll-section .logoMain{
		width:65%;
		margin:0 auto;
	}
	body .module_row .subfullCol {
        width: 90%;
    }
}

@media screen and (max-width: 460px) { /* for mobile small  */
	body .module_row .ccTxt_subright {
		position: absolute;
		bottom: 25px;
		left: 50%;
		transform: translateX(-50%);
}
	body .module_row .ccTxt_subright.ccTxtspCs{
		position: relative;
		bottom: auto;
		left: auto;
		transform: none;
	}
	.module_row .oneviewCo {
		padding-top:90px;
	}
	.logo_cs img{
		width:auto;
		height:40px;
	}
	.logo_cs{
		text-align:center;
	}
	body .module_row .module_column.subfullCol {
		width: 100%
	}
	.subfullCol .tableOg table tr td:first-child {
		padding-left: 0.5em;
        padding-right: 0;
        width: 25%;
	}
	body #map_canvas {
		height:50vh;
	}
	body .subMaintitle .module-title {
		font-size:3rem;
		margin:0 0 6rem 0;
	}
	body .wpcf7 .submit_btn {
		padding-top: 40px;
		text-align: center;
	}
	#pagewrap .section-tableone.section-tableonelast{
		padding:0;
	}
}

