@charset "utf-8";

html {
	width: 100vw;
	overflow-y: scroll;
}
*, *::before, *::after {
	box-sizing: border-box;
}
body, h1, h2, h3, h4, h5, h6, p, address, time,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family:  "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	word-wrap : break-word;
	overflow-wrap : break-word;
}
br {
letter-spacing: 0;
}
img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
object {
	pointer-events: none;
	max-width: 100%;
}
/* ------------------------------
    base
------------------------------ */

body {
	font-size: 1.0rem;
	text-align: left;
}
@media only screen and (max-width: 768px) {
	body {
	min-width: 100%;
	font-size: 1.0rem;
	text-align: left;
}
}
section {
	position: relative;
}
main {
	position: relative;
	display: block;
	z-index: 1;
	overflow: hidden;
}
.fade {
	transition: opacity 0.3s ease;
	transform: translateZ(0)rotate(0.0001deg);
	-webkit-backface-visibility: hidden;
	backface-visibility:hidden;
}
.fade img {
	outline: 1px solid transparent;
	transform: translateZ(0)rotate(0.0001deg);
	-webkit-backface-visibility: hidden;
	backface-visibility:hidden;
}
.fade:hover {
	opacity: .6;
	cursor: pointer;
}
.h-center {
	position: absolute;
	left: 50%;
	transform: translateX(-50%)translateZ(0);
}
.v-center {
	position: absolute;
	top: 50%;
	transform: translateY(-50%)translateZ(0);
}
.hv-center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) translateZ(0);
}
.flex {
	display: flex;
	justify-content: space-between;
}
.tal {
	text-align: left;
}
.tar {
	text-align: right;
}
.tac {
	text-align: center;
}
.left {
	float: left;
}
.right {
	float: right;
}
.center {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
/* ------------------------------
    			top
------------------------------ */
.header_logo-bg{
	background: url("../img/top-logo-bg.jpg");
	width:22vw;
	height:55.95218vw;
	padding:3.571vw 0 2.857vw;
	text-align: center;
	z-index:1;
}
@media only screen and (max-width: 768px) {
	.header_logo-bg{
	background: none;
	width:100vw;
	height:auto;
	padding:0;
	text-align: center;
	position: absolute;
	top:40.625vw;
	z-index:2;
}
}
.header_logo-bg h1{

}
.map{
	line-height: 0;
}
.map iframe{
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}
img.h1-logo-img{
	width:7.143vw;
	height:4.286vw;
}
@media only screen and (max-width: 768px) {
	img.h1-logo-img{
	width:25%;
	height:25%;
}
	}
.header_logo-bg h2.top{
	writing-mode:vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	font-size:2.428vw;
	font-weight:400;
	line-height: 3.714vw;
	letter-spacing: 0.1em;
	color:#fff;
	position:absolute;
  	top:11vw;
  	left:7vw;
  }
@media only screen and (max-width: 768px) {
	.header_logo-bg h2.top{
	writing-mode:horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	-moz-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	font-size:5.3125vw;
	font-weight:400;
	line-height: 8.125vw;
	letter-spacing: 0.1em;
	font-feature-settings : "palt";
	color:#fff;
	position:static;
	margin-top:6.5625vw;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
}
.sns-block{
	margin-top:42vw;
}
i.sns{
	color:#fff;
	margin-right:0.714vw;
	font-size:2.855vw;
}
i.sns-last{
	color:#fff;
	margin-right:0;
	font-size:2.855vw;
}
@media only screen and (max-width: 768px) {
	.sns-block{
	margin-top:20vw;
}
i.sns{
	color:#fff;
	margin-right:30px;
	font-size:10vw;
}
i.sns-last{
	color:#fff;
	margin-right:0;
	font-size:10vw;
}
}
.top-mv{
	position: relative;
	width: calc(100% - 22vw);
}
.top-mv img{
	width:100%;
	height:55.95218vw;
	vertical-align: top;
	position: absolute;
	top:0;
	left:22vw;
	object-fit: cover;
}
@media only screen and (max-width: 768px) {
.top-mv{
	position: static;
	width: 100vw;
}
.top-mv img{
	width:100vw;
	height:125vw;
	position: relative;
	top:0;
	left:0;
	object-fit: cover;
}
}
/* ------------------------------
    		drawermenu
------------------------------ */
.contents {
    display: table;
    height: 100vh;
    padding: 0;
    margin: 0;
    transition-property: all;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
}
.drawer-menu {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    height: 100%;
    padding: 15px 0;
    background: #222;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: perspective(500px) rotateY(-90deg);
    transform: perspective(500px) rotateY(-90deg);
    opacity: 0;
}
.drawer-menu li {
    text-align: center;
}
.drawer-menu li a {
    display: block;
    height: 45px;
    line-height: 45px;
    font-size: 14px;
    color: #fff;
    -webkit-transition: all .8s;
    transition: all .8s;
}
.drawer-menu li a:hover {
    color: #1a1e24;
    background: #fff;
}
.check {
    display: none;
}
.menu-btn {
    position: fixed;
    display: block;
    display: block;
    font-size: 11px;
    text-align: center;
    cursor: pointer;
	top: 0px;
    right: 0px;
    height: calc(100vw - 94.2857vw);
    width: calc(100vw - 94.2857vw);
    background: #000;
    z-index:5;
	box-shadow: -1px 1px 5px #999;
}
.bar {
    position: absolute;
    display: block;
    height: 2px;
    background: #fff;
    -webkit-transition: all .5s;
    transition: all .5s;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
	top: 1.571VW;
    left: calc((100vw - 94.2857vw - 2.5vw) / 2);
    width: 2.5vw;
}
.bar.middle {
    top: 15px;
    opacity: 1;
}
.bar.bottom {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    top: 2.5714vw
}
.menu-btn__text {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    color: #fff;
    -webkit-transition: all .5s;
    transition: all .5s;
    display: block;
    visibility: visible;
    opacity: 1;
    font-family: 'Cormorant Garamond', serif;
	font-weight: bold;
    bottom: 1vw;
	letter-spacing: 1px;
}
.close-menu {
    position: fixed;
    top: 0;
    right: 300px;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0);
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    visibility: hidden;
    opacity: 0;
}
.check:checked ~ .drawer-menu {
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
    z-index: 4;
}
.check:checked ~ .contents {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translateX(-30px);
}
.check:checked ~ .menu-btn .menu-btn__text {
    visibility: hidden;
    opacity: 0;
}
.check:checked ~ .menu-btn .bar.top {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	width: 4vw;
    top: 1.571vw;
}
.check:checked ~ .menu-btn .bar.middle {
    opacity: 0;
}
.check:checked ~ .menu-btn .bar.bottom {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
	width: 4vw;
    top: 4.4142vw;

}
.check:checked ~ .close-menu {
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    background: rgba(0,0,0,.5);
    visibility: visible;
    opacity: 1;
    z-index: 5;
}
@media only screen and (max-width: 768px) {
.menu-btn {
    height: 12.5vw;
    width:calc(100vw - 87.5vw);
}
.bar {
    top: 3.125vw;
    left: 3.125vw;
    width: 6.25vw;
}
.bar.bottom {
    top: 5.5vw;
}
.menu-btn__text {
	text-align: center;
    bottom: 1.5vw;
    font-family: 'Cormorant Garamond', serif;
}
.check:checked ~ .menu-btn .bar.top {
    width: 6.25vw;
    top: 3.125vw;
}
.check:checked ~ .menu-btn .bar.bottom {
    width: 6.25vw;
    top: 7.6vw;
}
.top-title{
	margin-top:20.937vw;
}
.contents {
	width:100%;
}
}

/* ------------------------------
    	news-block
------------------------------ */
.top-news{
	margin-bottom:5.8571vw;
	/*display: none;*/
}
@media only screen and (max-width: 768px) {
	.top-news{
		padding:0 0 10vw;
		margin-bottom:0;
		background:#fff;
		/*display: none;*/
	}
}
.news-block{
	display: flex;
    justify-content: center;
    align-items: center;
}
@media only screen and (max-width: 768px) {
	.news-block{
	display: flex;
    justify-content: center;
    align-items: center;
}
}
.news-block h2{
	height:9vw;
	writing-mode:vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	font-size:1.785vw;
	font-weight:400;
	line-height: 1em;
	letter-spacing: 0.1em;
	color:#000;
  	margin-top:5vw;
}
.news-block table.h2{
	border:none;
}
.news-block table.h2 tbody tr{
	height:3.124vw;
}
.news-block table.h2 tbody tr td.border{
	border-right:1px solid #000;
}
@media only screen and (max-width: 768px) {
	.news-block h2{
	height:23vw;
	writing-mode:vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	font-size:4.5vw;
	font-weight:400;
	line-height: 4.375vw;
	letter-spacing: 0.1em;
	color:#000;
	margin-top:6.7592vw;
}
.news-block table.h2{
	border:none;
	margin-bottom:7.3846vw;
}
.news-block table.h2 tbody tr{
	height:7.1875vw;
}
.news-block table.h2 tbody tr td.border{
	border-right:1px solid #000;
}
}
.news{
	padding:0 14.2857vw 5vw;
	display: flex;
	justify-content: space-between;
}
@media only screen and (max-width: 768px) {
	.news{
	padding:0 3.125vw;
	display: block;
	flex-wrap: wrap;
}
}
.news-box{
	display: flex;
	margin-top:5vw;
}
@media only screen and (max-width: 768px) {
.news-box{
	display: flex;
	margin-top:2.8125vw;
}
.news .news-box:first-child{
	margin-top:0vw;
}
}
.news .news-box:nth-child(2n){
	margin-left:2.857vw;
}
.news .news-box:nth-child(3),.news .news-box:nth-child(4){
	margin-top:2.1428vw;
}
@media only screen and (max-width: 768px) {
	.news .news-box:nth-child(2n){
	margin-left:0vw;
	margin-top:5vw;
}
	.news .news-box:nth-child(2n+1){
	margin-top:5vw;
}
}
.news-box .news-img img{
	width:12.857vw;
	height:auto;
	object-fit:contain;
}
@media only screen and (max-width: 768px) {
	.news-box .news-img img{
	width:28.125vw;
	height:auto;
	object-fit:contain;
	vertical-align: top;
}
}
.news-box .news-text{
	width:20.5vw;
	padding:0 0 0 1.514vw;
}
@media only screen and (max-width: 768px) {
	.news-box .news-text{
	width:65.625vw;
	padding:0 0 0 4vw;
	margin-top:-0.5vw;
}
}
.news-box .news-text data,.news-box .news-text p{
	font-size: 1vw;
	color:#999;
	line-height: 1.8em;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	font-weight:normal;
	margin-top:0.5vw;
}
*::-ms-backdrop,.news-box .news-text p{
	letter-spacing: 0.01em;/* IE11 */ 
}
@media only screen and (max-width: 768px) {
	.news-box .news-text data,.news-box .news-text p{
	font-size: 3.5vw;
	color:#999;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	font-weight:normal;
}
.news-box .news-text data{
	line-height: 1em;
	vertical-align: top;
	font-size: 3.3vw;
}
}
.news-box .news-text h3{
	font-size: 1.1428vw;
	color:#000;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	font-weight:bold;
}
*::-ms-backdrop,.news-box .news-text h3{
	letter-spacing: 0.01em;/* IE11 */ 
}
.news-box .news-text a{
	color:#000;
	text-decoration: none;
}
@media only screen and (max-width: 768px) {
	.news-box .news-text h3{
	font-size: 4.2vw;
	color:#000;
	line-height: 1.2em;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	font-weight:bold;
	margin-top:0;
}
.top-news .center{
	margin-top:8.3076vw;
}
}
.news-box .news-text p{
	color:#000;
	margin-top:0.5vw;
	text-align: justify;
	text-justify: inter-ideograph;
}
/* ------------------------------
    	　button
------------------------------ */
.button {
  display: inline-block;
  width: 14.2857vw;
  height: 3.8571vw;
  text-align: center;
  text-decoration: none;
  line-height: 3.8571vw;
  outline: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button {
  position: relative;
  z-index: 2;
  background-color: #000;
  border: 2px solid #000;
  color: #fff;
  line-height: 3.8571vw;
  font-size: 1.1428vw;
  letter-spacing: 0.1em;
  font-feature-settings:"palt";
}
.button:hover {
  background-color: #fff;
  border-color: #000;
  color: #000;
}
.button::before,
.button::after {
  left: 0;
  width: 100%;
  height: 50%;
  background-color: #000;
}
.button::before {
  top: 0;
}
.button::after {
  bottom: 0;
}
.button:hover::before,
.button:hover::after {
  height: 0;
  background-color: #000;
}
@media only screen and (max-width: 768px) {
.button {
	width: 31.25vw;
  	height: 8.4375vw;
	font-size: 4vw;
	line-height: 8.4375vw;
	}
}
/* ------------------------------
    	menu-block
------------------------------ */
.top-menu .menu{
	display: flex;
	flex-wrap: wrap;
	width:100vw;
}
.top-menu .menu .menu-box{
	width:calc(100%/3);
	height:auto;
	background-color:#000;
	outline: solid 0.071vw #fff;
  	outline-offset: -0.7142vw;
	position: relative;
}

*::-ms-backdrop, .top-menu .menu .menu-box {
  width: 33.333%; /* IE11 */
}
.menu a .menu-img{
    background-size: cover; 
    overflow: hidden;
    width:100%;
    height:auto;
  	opacity: 0.6;
}
.menu a .menu-img img{
	display: block;
	transition-duration: 0.7s;
	width:100%;
}
@media only screen and (max-width: 768px) {
	.top-menu .menu .menu-box{
	flex-basis: 100vw; 
	height:auto;
	background-color:#000;
	outline: solid 0.15625vw #fff;
  	outline-offset: -1.5625vw;
}
.menu a .menu-img{
    background-size: cover; 
    overflow: hidden;
    width:100vw;
    height:34.375vw;
  	opacity: 0.6;
}
.menu a .menu-img img{
	display: block;
	transition-duration: 0.7s;
	object-fit: cover;
	object-position: 0 100%
}
}
.menu a .menu-img:hover{
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	opacity: 1;
}
.menu a .menu-img img:hover {
	transform: scale(1.1);
	transition-duration: 0.5s;
}
.menu-box .menu-text h2,.menu-box .menu-text p{
	writing-mode:vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	font-size:2.1428vw;
	font-weight:normal;
	line-height:1.86em;
	letter-spacing: 0.1em;
	color:#fff;
	position:absolute;
  	top:10.142vw;
  	left:16.571vw;
  	transform:translateX(-50%);
}
.menu-box .menu-text p{
	font-size:1.1428vw;
  	top:2.5714vw;
  	left:30.2857vw;
}
.menu-box:hover .menu-text h2,.menu-box:hover .menu-text p{
	color:#000;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
@media only screen and (max-width: 768px) {
	.menu-box .menu-text h2,.menu-box .menu-text p{
	writing-mode:horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	-moz-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	font-size:4.7vw;
	font-weight:bold;
	line-height:1em;
	letter-spacing: 0.1em;
	color:#fff;
	top:14.375vw;
	left:37vw;
	transform:translateX(0);
}
.menu-box .menu-text p{
	font-size:4vw;
	top:4.6875vw;
	left:4.6875vw;
	font-weight: normal;
	}
.menu-box:hover .menu-text h2,.menu-box:hover .menu-text p{
	color:#000;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
}
img.menu-arrow{
    position: absolute;
    width:5.5vw;
    height:auto;
    bottom:5.14vw;
    left:13.7vw;
}
@media only screen and (max-width: 768px) {
	img.menu-arrow{
    position: absolute;
    width:11.718vw;
    height:auto;
    bottom:0vw;
    left:80.7vw;
    top:14.375vw;
}
}
.menu-box:hover img.menu-arrow{
    visibility: hidden;
}
@media only screen and (max-width: 768px) {
	.spdn{
		display:none;
}
}
/* ------------------------------
    omoi-block / ohashi-block
------------------------------ */
.top-omoi{
	background: url('../img/top-omoi.jpg') no-repeat;
	background-size: cover;
	width:100vw;
	height:41.4286vw;
	position: relative;
}
.top-ohashi{
	background: url('../img/ohashi-bg.png') no-repeat;
	background-size: cover;
	width:100vw;
	height:41.4286vw;
	position: relative;
}
@media only screen and (max-width: 768px) {
	.top-ohashi{
	background: url('../img/ohashi-bg.png') no-repeat;
	/*background-size: cover;*/
	width:100vw;
	height:auto;
	position: static;
	text-align: center;
}
}
.top-ohashi .flex-center table.h2{
	border:none;
	position: absolute;
	top: 21vw;
    left: 37.5vw;
}
.top-ohashi h2,.top-ohashi p{
	writing-mode:vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	font-size:1.785vw;
	font-weight:400;
	line-height: 2vw;
	letter-spacing: 0.1em;
	color:#000;
	position:absolute;
  	top:4vw;
  	left:37.5vw;
  	transform:translateX(-50%);
}
.top-ohashi p{
	font-size: 1.1428vw;
	font-weight: normal;
	top:8.7142vw;
	left:15.1428vw;
	line-height: 2.0625em;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	transform:translateX(0);
}
.top-ohashi a.button{
	position: absolute;
	left:2.857vw;
	bottom:2.857vw;
}
.top-ohashi .text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}
@media only screen and (max-width: 768px) {
.top-omoi{
	background: url('../img/top-omoi.jpg') no-repeat center center;
	background-size: cover;
	width:100vw;
	height:auto;
	position: static;
	text-align: center;
}
.flex-center{
	display: flex;
    justify-content: center;
    align-items: center;
}
}
.top-omoi h2,.top-omoi p{
	writing-mode:vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	font-size:1.785vw;
	font-weight:400;
	line-height: 2vw;
	letter-spacing: 0.1em;
	color:#000;
	position:absolute;
  	top:4vw;
  	right:14.2857vw;
  	transform:translateX(-50%);
}
.top-omoi .flex-center table.h2{
	border:none;
	position: absolute;
	top: 15vw;
    right: 16.3vw;
}
.more-info .flex-center table.h2{
	border:none;
	position: absolute;
	top: 17vw;
    left: 6.214vw;
}
.top-omoi .flex-center table.h2 tbody tr,
.top-ohashi .flex-center table.h2 tbody tr,
.flex-center table.h2 tbody tr{
	height:3.124vw;
}
.top-omoi .flex-center table.h2 tbody tr td.border,
.top-ohashi .flex-center table.h2 tbody tr td.border,
.title .flex-center table.h2 tbody tr td.border{
	border-right:1px solid #000;
}
@media only screen and (max-width: 768px) {
	.flex-center h2{
	height: 40vw;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    font-size: 4.5vw;
    font-weight: bold;
    line-height: 4.375vw;
    letter-spacing: 0.1em;
    color: #000;
    margin-top: 6.7592vw;
    position:static;
  	top:0;
  	right:0;
  	transform: translateX(0);
}
.top-ohashi .flex-center h2{
	height:55vw;
}
.top-omoi .flex-center table.h2,
.top-ohashi .flex-center table.h2,
.more-info .flex-center table.h2,
.flex-center table.h2{
	border:none;
	position: static;
	margin-bottom:7.3846vw;
}
.top-omoi .flex-center table.h2 tbody tr,
.top-ohashi .flex-center table.h2 tbody tr,
.flex-center table.h2 tbody tr{
	height:7.1875vw;
}
.top-omoi .flex-center table.h2 tbody tr td.border,
.top-ohashi .flex-center table.h2 tbody tr td.border,
.flex-center table.h2 tbody tr td.border{
	border-right:1px solid #000;
}
}
.top-omoi p{
	font-size: 1.1428vw;
	font-weight: normal;
	top:8.7142vw;
	right:20.21428vw;
	line-height: 2.0625em;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	transform:translateX(0);
}
@media only screen and (max-width: 768px) {
.top-omoi p,
.top-ohashi p{
	margin:0 auto;
	text-align: center;
	writing-mode:horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	-moz-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	font-size:4vw;
	font-weight:400;
	line-height: 2.0625em;
	letter-spacing: 0.1em;
	color:#000;
	position:static;
	transform: translateX(0);
	padding-bottom:7.3846vw;
}
}
.top-omoi a.button{
	position: absolute;
	right:2.857vw;
	bottom:2.857vw;
}

@media only screen and (max-width: 768px) {
.top-omoi a.button,
.top-ohashi a.button{
	position: static;
	margin-bottom:9.375vw;
	display: inline-block;
}
}
img.omoi-img{
	position:absolute;
	bottom:0;
	left:14.2857vw;
	width:23vw;
	height:auto;
}
img.ohashi-img{
	position:absolute;
	bottom:0;
	right:14.2857vw;
	width:39.5714vw;
	height:auto;
}
@media only screen and (max-width: 768px) {
	img.omoi-img{
	position:static;
	bottom:0;
	left:0;
	display: block;
	margin:0 auto;
	width:58.21875vw;
	height:auto;
}
	img.ohashi-img{
	position:static;
	bottom:0;
	left:0;
	display: block;
	margin:0 auto;
	width:62.3076vw;
	height:auto;
}
}

/* ------------------------------
              map
------------------------------ */
.map iframe{
	width:100vw;
	height: 41.4285vw
}
@media only screen and (max-width: 768px) {
	.map iframe{
	width:100vw;
	height: 90.625vw
}
	}
/* ------------------------------
           info-block
------------------------------ */
.info-block{
	background:url('../img/footer-bg.jpg');
	width:100vw;
	padding:6.785714vw 14.2857vw;
	display: flex;
	justify-content: space-between;
}
.info-block .info-right,
.info-block .info-left{
	width:34.4285vw;
}
.infomation p{
	font-size:1.1428vw;
	line-height: 1.8em;
	font-weight: bold;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	color:#fff;
}
.info-right .infomation:nth-child(2){
	margin-top:3.42vw;
}
.info-left .infomation:nth-child(2){
	margin-top:6.3vw;
}
.infomation ul li{
	font-size:1vw;
	line-height: 2em;
	font-weight: normal;
	letter-spacing: 0.1em;
	font-feature-settings:"palt";
	color:#fff;
}
.infomation ul li span.fs-23{
	font-size:1.6428vw;
	font-weight:bold;
}
.infomation ul li a{
	text-decoration:none;
	color:#fff;
}
@media only screen and (max-width: 768px) {
.info-block{
	padding:7.8125vw 3.125vw;
}
.info-block .info-right,
.info-block .info-left{
	width:43.75vw;
}
.infomation p{
	font-size:3.5vw;
}
.info-right .infomation:nth-child(2){
	margin-top:3.42vw;
}
.info-left .infomation:nth-child(2){
	margin-top:6.3vw;
}
.infomation ul li{
	font-size:3.3vw;
}
.infomation ul li span.fs-23{
	font-size:3.59375vw;
}
}
/* ------------------------------
           more-info
------------------------------ */
.more-info{
	background:url('../img/more-info-bg.jpg');
	padding:6.785714vw 14.2857vw;
	display:flex;
	justify-content: space-between;
}
.title{
	position: relative;
}
.more-info .title h2{
	writing-mode:vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	font-size:1.785vw;
	font-weight:400;
	line-height: 2vw;
	letter-spacing: 0.1em;
	color:#000;
	position:absolute;
  	top:0vw;
  	left:6.214vw;
  	transform:translateX(-50%);
  	height:16.14vw;
}
.more-info .more-info-right,
.more-info .more-info-left{
	width:30.7142vw;
	display: flex;
	justify-content: space-between;
}
.flex-item{
	width:14.2857vw;
	text-align: center;
}
.flex-item img{
	width:14.2857vw;
	height:auto;
	margin:4.2857vw 0 1.428vw;
}
.flex-item p{
	font-size: 1.1428vw;
	line-height: 1.5em;
}
@media only screen and (max-width: 768px) {
.more-info{
	padding:0 3.125vw 10vw;
	display:block;
}
.title{
	position: static;
}
.more-info .title h2{
	font-size:4.5vw;
  	top:0vw;
  	left:6.214vw;
  	height:50vw;
  	position: static;
  	transform: translateX(0);
	font-weight: bold;
}
.more-info .more-info-right,
.more-info .more-info-left{
	width:100%;
	display:block;
}
.flex-item{
	width:31.25vw;
	text-align: center;
	margin:0 auto;
}
.flex-item img{
	width:31.25vw;
	height:auto;
	margin:7.34375vw 0 2.5vw;
}
.flex-item p{
	font-size:3.7vw;
	line-height: 1.5em;
}
.more-info .more-info-right .flex-item:first-child{
	height:58vw;
}
}
/* ------------------------------
           other
------------------------------ */
footer.other{
	background:#000;
	padding:2.28vw;
	display: flex;
	justify-content: space-between;
}
footer .other-right{
	display: flex;
	justify-content: space-between;
}
footer .policy{
	background:#333;
	text-align: center;
	width:11vw;
	margin-right:1.4285vw;
}
footer .policy a p,.other-left a p{ 
	font-size:1vw;
	line-height:2.5em;
	color:#fff;
}
footer .policy a,
footer .other-left a{
	text-decoration:none;
	color:#fff;
}
footer .other-right .sns-block {
    margin-top: 0;
}
@media only screen and (max-width: 768px) {
footer.other{
	padding:5vw 0;
	display: block;
	text-align: center
}
footer .other-right{
	display: block;
	text-align: center;
	margin:0 auto;
}
footer .policy{
	width:30vw;
	margin-right:auto;
	margin-left: auto;
	margin-bottom: 10vw
}
footer .policy a p,.other-left a p{ 
	font-size:3.3vw;
	line-height:2.5em;
	letter-spacing: 1px;
	padding: 0 8px;
}
footer .other-left a p{ 
	line-height:1em;
}
footer .policy a,
footer .other-left a{
	text-decoration:none;
	color:#fff;
}
footer .other-right .sns-block {
    margin-top: 0vw;
    margin-bottom:4.0625vw;
}
}
*::-ms-backdrop, .news-block h2 {
  transform:translateX(-60%); /* IE11 */
}
*::-ms-backdrop, .menu-box .menu-text h2 {
  transform:translateX(-60%); /* IE11 */
}
*::-ms-backdrop, .top-ohashi h2 {
  transform:translateX(-60%); /* IE11 */
}
*::-ms-backdrop, .top-omoi h2 {
  transform:translateX(-60%); /* IE11 */
}
/* ------------------------------
    page-header
------------------------------ */
header#page{
	position: fixed;
	z-index: 999;
}
header#page .header-bg{
	background: url('../img/header-bg.png');
	background-size: contain;
	height:calc(100vw - 94.2857vw);
	width:100vw;
	padding:1.1071vw 1.125vw;
	margin-top:calc((100vw - 94.2857vw) * -1); 
}
header#page .header-bg h1 a img{
	width:auto;
	height:3.5714vw;
}

header#page .nav .menu-btn {
    top: 0px;
    right: 0px;
    height: calc(100vw - 94.2857vw);
    width: calc(100vw - 94.2857vw);
    background: #000;
    z-index:6;
}
header#page .nav .bar {
    top: 1.571VW;
    left: calc((100vw - 94.2857vw - 2.5vw) / 2);
    width: 2.5vw;
}

.menu-btn:hover .bar {
    background: #fff;
}
.menu-btn:hover .menu-btn__text {
    color: #fff;
}
.close-menu {
    position: fixed;
    top: 0;
    right: 300px;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0);
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    visibility: hidden;
    opacity: 0;
}
header#page .nav .bar.bottom {
    top: 2.5714vw;
}
header#page .nav .menu-btn__text {
    bottom: 1vw;
}
header#page .nav .check:checked ~ .menu-btn .bar.top {
    width: 4vw;
    top: 1.571vw;
}
header#page .nav .check:checked ~ .menu-btn .bar.bottom {
    width: 4vw;
    top: 4.4142vw;
}
.top-title{
	margin-top:5.7142vw;
}
.contents {
	width:100%;
}
@media only screen and (max-width: 768px) {
header#page .header-bg{
	background: url('../img/header-bg.png');
	background-size: cover;
	height:12.5vw;
	width:87.5vw;
	padding:2.1875vw 3.125vw;
	margin-top: -12.5vw;
}
header#page .header-bg h1 a img{
	width:auto;
	height:7.8125vw;
}
header#page .nav .menu-btn {
    height: 12.5vw;
    width:calc(100vw - 87.5vw);
}
header#page .nav .bar {
    top: 3.125vw;
    left: 3.125vw;
    width: 6.25vw;
}
header#page .nav .bar.bottom {
    top: 5.5vw;
}
header#page .nav .menu-btn__text {
	text-align: center;
    bottom: 1.5vw;
    font-family: 'Cormorant Garamond', serif;
}
header#page .nav .check:checked ~ .menu-btn .bar.top {
    width: 6.25vw;
    top: 3.125vw;
}
header#page .nav .check:checked ~ .menu-btn .bar.bottom {
    width: 6.25vw;
    top: 7.6vw;
}
.top-title{
	margin-top:20.937vw;
}
.contents {
	width:100%;
}
}
/* temporary */
#temporary .menu-img{
    background-size: cover; 
    overflow: hidden;
    width:100%;
    height:auto;
  	opacity: 0.6;
}
#temporary .menu-img img{
	display: block;
	transition-duration: 0.7s;
	width:100%;
}

#temporary .menu-img img:hover {
	transform: none;
	transition-duration: 0.5s;
}
.noto400 {
	font-family: 'Noto Serif JP', serif;
}
.noto600 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
