/*container
-----------------------------------------------------------*/

html {
	width: 100%;
	overflow-x: hidden;
	overflow: hidden;
	height: 100%;
}

body {
	min-width: 1080px;
	height: 100%;
}

#container {
	height: 0;
	overflow: hidden;
	width: 100%;
	min-width: 1080px;
	position: relative;
	z-index: 10;
}

@media screen and (max-width: 1079px) {
	
	html {
		overflow-x: scroll;
	}
	
}

@media screen and (max-width: 800px) {
	
	html {
		overflow-x: hidden;
	}
	body {
		min-width: inherit;
	}
	#container {
		min-width: inherit;
	}
	
}


/*nav
-----------------------------------------------------------*/

nav {
	opacity: 0;
	position: fixed;
	top: 0;
	right: 0;
	width: 300px;
	height: 152px;
	border-bottom-left-radius: 32px;
	background-color: #43676b;
	overflow: hidden;
	z-index: 100;	
}

nav .btnBox {
	position: absolute;
	top: 0;
	right: 0;
	width: 300px;
	height: 300px;
}

nav .btnBoxInner {
	margin: 28px 0 0 32px;
}

nav .btnBox .logo {
	width: 150px;
}

nav .btnBox .logo a {
	display: block;
}

nav .btnBox ul {
	margin-top: 36px;
}

nav .btnBox ul li {
	margin-bottom: 12px;
}

nav .btnBox ul li a {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 150%;
	color: #fff;
	padding: 2px 18px 2px 0;
	background-image: url("../img/bow_bw.svg");
	background-position: bottom 6px right;
	background-repeat: no-repeat;
	background-size: 9px 9px;
}

nav .btnBox ul li:first-of-type {
	margin-bottom: 20px;
}

nav .btnBox ul li:first-of-type a {
	font-size: 1.8rem;
}

#hbg {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 64px;
	height: 64px;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	cursor: pointer;
}

#hbg .lines {
	margin-top: 16px;
	width: 38px;
	height: 12px;
	position: relative;
	overflow: visible;
}

#hbg .lines .line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
}

#hbg .lines .line01 {
	top: 0;
}

#hbg .lines .line02 {
	top: 100%;
}

#hbg .txts {
	position: absolute;
	top: 38px;
	left: 0;
	width: 100%;
	height: 16px;
	font-size: 1.1rem;
	line-height: 125%;
	font-weight: 400;
	overflow: hidden;
}

#hbg .txts .txt {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	letter-spacing: 1px;
}

#hbg .txts .menu {
	top: 0;
	color: #fff;
}

#hbg .txts .close {
	top: 100%;
	color: #fff;
	opacity: 0;
}

@media screen and (max-width: 800px) {
	
    nav {
        position: fixed;
        top: 0;
        right: 0;
        width: 48px;
        height: 48px;
        border-bottom-left-radius: 0;
    }
	
	nav .btnBox {
		width: 240px;
		height: 252px;
	}

    nav .btnBoxInner {
        margin: 24px 0 0 28px;
    }

    nav .btnBox .logo {
        width: 120px;
    }

    nav .btnBox ul {
        margin-top: 32px;
    }

    nav .btnBox ul li {
        margin-bottom: 10px;
    }

    nav .btnBox ul li a {
        font-size: 1.4rem;
        padding: 1px 18px 1px 0;
    }

    nav .btnBox ul li:first-of-type {
        margin-bottom: 14px;
    }

    nav .btnBox ul li:first-of-type a {
        font-size: 1.6rem;
    }

    #hbg {
        position: absolute;
        top: 0;
        right: 0;
        width: 48px;
        height: 48px;
    }

    #hbg .lines {
        margin-top: 11px;
        width: 26px;
        height: 10px;
    }
	
	#hbg .lines .line {
		height: 1px;
	}

    #hbg .txts {
        top: 30px;
        font-size: 0.8rem;
		font-weight: 500;
    }
	
}

/*top
-----------------------------------------------------------*/

.top {
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	z-index: 0;
}

.top .topImg {
	width: 100%;
	height: 100%;
}

.top h1 {
	position: absolute;
	top: 0;
	left: 6.66%;
	margin-top: 32px;
	display: inline-block;
	background-color: #fff;
	padding: 6px 12px;
	font-size: 2.4rem;
	line-height: 125%;
	font-weight: 600;
}

.top .txtBox {
	position: absolute;
	bottom: 10%;
	left: 6.66%;
}

.top .txtBox h2 {
	font-size: 4rem;
	line-height: 125%;
	font-weight: 700;
}

.top .txtBox h2 span {
	display: inline-block;
	background-color: #fff;
	margin-bottom: 8px;
	padding: 1px 0 4px 8px
}

.top .txtBox h3 {
	display: inline-block;
	margin-top: 17px;
	font-size: 1.6rem;
	line-height: 150%;
	font-weight: 700;
	background-color: #fff;
	padding: 4px 4px 6px 10px;
}

.top .txtBox h3 br {
	display: none;
}

@media screen and (max-width: 800px) {
	
	.top {
		padding-top: 48px;
	}

    .top h1 {
        top: 0;
        left: 0;
		margin-top: 0;
		width: 100%;
		height: 48px;
		padding: 0 0 0 3%;
		display: flex;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        align-items: center;
        font-size: clamp(1.2rem, 3.75vw, 2rem);
    }
	
    .top .txtBox {
        bottom: 4%;
        left: 4vw;
		padding-right: 4vw;
    }

    .top .txtBox h2 {
        font-size: max(4.5vw, 1.8rem);
    }

    .top .txtBox h2 span {
        margin-bottom: max(1vw, 4px);
        padding: 0 0 3px 5px
    }

    .top .txtBox h3 {
        margin-top: max(1.5vw, 6px);
        font-size: max(2vw, 1.2rem);
        padding: 3px 2px 5px 8px;
    }
	
}

@media screen and (max-width: 399px) {

    .top .txtBox h3 br {
        display: block
    }
	
}


/*translete
-----------------------------------------------------------*/

.translete {
	opacity: 0;
	position: fixed;
	top: 0;
	right: 16px;
	margin-top: 172px;
	width: 200px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	z-index: 90;
}

.translete button {
    all: unset;
    cursor: pointer;
	width: 96px;
	height: 32px;
	border-radius: 16px;
	text-align: center;
	background-color: #c1d9d9;
	font-size: 1.4rem;
	line-height: 150%;
	font-weight: 500;
	cursor: pointer;
}

@media screen and (max-width: 800px) {

    .translete {
        right: 8px;
        margin-top: 58px;
        width: 164px;
    }

    .translete button {
        width: 80px;
        height: 24px;
        border-radius: 12px;
        font-size: 1.2rem;
    }
	
	
}

/*lead
-----------------------------------------------------------*/

.lead {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
	background-color: #fff;
	padding: 120px 0;
}

.lead .leadBox {
	width: 1200px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.lead .leadBox .titleBox {
	width: 600px;
	padding-bottom: 24px;
}

.lead .leadBox .titleBox h4 {
	font-size: 3.2rem;
	font-weight: 800;
	line-height: 175%;
}

.lead .leadBox .titleBox h4 span {
	display: inline-block;
}

.lead .leadBox .txtBox {
	width: 600px;
	padding-top: 16px;
}

.lead .leadBox .txtBox p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 200%;
	margin-bottom: 32px;
}

.lead .leadBox .txtBox p:last-of-type {
	font-size: 1.8rem;
	margin-bottom: 0;
}

@media screen and (max-width: 1439px) {

    .lead .leadBox {
        width: 600px;
    }
	
	
}

@media screen and (max-width: 800px) {

    .lead {
        padding: 80px 0;
    }

    .lead .leadBox {
        width: 80vw;
        display: block;
    }

    .lead .leadBox .titleBox {
        width: 100%;
        padding-bottom: 16px;
    }

    .lead .leadBox .titleBox h4 {
        font-size: 2.4rem;
    }

    .lead .leadBox .txtBox {
        width: 100%;
        padding-top: 8px;
    }

    .lead .leadBox .txtBox p {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .lead .leadBox .txtBox p:last-of-type {
        font-size: 1.6rem;
        margin-bottom: 0;
    }
	
	.lead .leadBox .txtBox p br {
		display: none;
	}
	
	
}


/*h5
-----------------------------------------------------------*/

h5 {
	width: 100%;
	font-size: 3rem;
	line-height: 160%;
	font-weight: 700;
	text-align: center;
	padding: 0 calc(50% - 400px);
}

h5 span {
	display: inline-block;
}

.heading {
	display: inline-block;
	padding: 8px 20px 9px;
	font-size: 1.6rem;
	line-height: 150%;
	font-weight: 500;
	border: solid 1px #888;
}

@media screen and (max-width: 800px) {

    h5 {
        font-size: 2rem;
		padding: 0 6.25%;
    }

    .heading {
        padding: 6px 16px 7px;
        font-size: 1.4rem;
    }
	
}

/*build
-----------------------------------------------------------*/

.build {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
	background-color: #fbfaf5;
	padding: 108px 0 80px;
}

.build h5 {
	margin: 48px 0 64px;
}

.build .buildBox {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
}

.build .buildBox .buildInner {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	width: clamp(960px, 80%, 1200px);
}

.build .buildBox .buildInner .buildItem {
	width: 47.5%;
	margin-bottom: 48px;
}

.build .buildBox .buildInner .buildItem:nth-of-type(n+7) {
	width: 30%;
}

.build .buildBox .buildInner .buildItem .thumb {
	width: 100%;
}

.build .buildBox .buildInner .buildItem .thumb .cap {
	margin-top: 4px;
	font-size: 1.2rem;
	line-height: 150%;
	color: #333;
	text-align: right;
}

.build .buildBox .buildInner .buildItem h6 {
	font-size: 2.4rem;
	line-height: 175%;
	font-weight: 700;
	margin-top: -2px;
}

.build .buildBox .buildInner .buildItem p {
	font-size: 1.8rem;
	line-height: 200%;
	font-weight: 600;
	margin-top: 6px;
}

.build .buildBox .buildInner .buildItem:nth-of-type(n+7) h6 {
	font-size: 2rem;
}

.build .buildBox .buildInner .buildIte:nth-of-type(n+7)m p {
	font-size: 1.6rem;
}

.build .buildBox .buildInner .other {
	width: 100%;
	font-size: 1.8rem;
	line-height: 200%;
	font-weight: 500;
	margin: 24px 0 48px;
	text-align: center;
}

@media screen and (max-width: 800px) {

    .build {
        padding: 64px 0 32px;
    }

    .build h5 {
        margin: 32px 0 40px;
    }

    .build .buildBox .buildInner {
        width: 87.5%;
    }

    .build .buildBox .buildInner .buildItem,
	.build .buildBox .buildInner .buildItem:nth-of-type(n+7) {
        width: 100%;
        margin-bottom: 40px;
    }

    .build .buildBox .buildInner .buildItem .thumb .cap {
        margin-top: 3px;
        font-size: 1.1rem;
    }

    .build .buildBox .buildInner .buildItem h6,
	.build .buildBox .buildInner .buildItem:nth-of-type(n+7) h6 {
        font-size: 1.8rem;
        line-height: 178%;
    }

    .build .buildBox .buildInner .buildItem p,
	.build .buildBox .buildInner .buildItem:nth-of-type(n+7) p {
        font-size: 1.6rem;
        margin-top: 16px;
        margin-top: 5px;
    }

    .build .buildBox .buildInner .other {
        font-size: 1.6rem;
        margin: 20px 0 40px;
    }
	
}


/*point
-----------------------------------------------------------*/

.point {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
	background-color: #fff;
	padding: 108px 0 120px;
}

.point h5 {
	margin: 48px 0 80px;
}

.point .pointBox {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	width: 100%;
	margin-bottom: 80px;
}

.point .pointBox:last-of-type {
	margin-bottom: 0;
}

.point .pointBox:nth-of-type(odd) {
	flex-direction: row-reverse;
}

.point .pointBox .imgBox {
	width: 45%;
	position: relative;
}

.point .pointBox .imgBox::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.point .pointBox .imgBox .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.point .pointBox .txtBox {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	align-items: center;
	width: 55%;
}

.point .pointBox:nth-of-type(odd) .txtBox {
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.point .pointBox .txtBox .txtInner {
	width: 75%;
	margin: -1% 10% 0 10%;
}


.point .pointBox .txtBox .txtInner h6 {
	font-size: 2.4rem;
	line-height: 175%;
	font-weight: 700;
}

.point .pointBox .txtBox .txtInner p {
	font-size: 1.8rem;
	line-height: 200%;
	font-weight: 600;
	margin-top: 24px;
}

.point .pointBox .txtBox .txtInner p:last-of-type {
	font-size: 1.5rem;
	font-weight: 500;
	margin-top: 20px;
}

@media screen and (max-width: 800px) {

    .point {
        padding: 64px 0;
    }

    .point h5 {
        margin: 32px 0 48px;
    }

    .point .pointBox {
        position: relative;
        display: block;
        margin-bottom: 72px;
    }

    .point .pointBox:nth-of-type(odd) {
        flex-direction: row;
    }

    .point .pointBox .imgBox {
        width: 80%;
    }

    .point .pointBox:nth-of-type(odd) .imgBox {
        margin-left: 20%;
    }

    .point .pointBox .imgBox::before {
        padding-top: 60%;
    }

    .point .pointBox .txtBox {
        display: block;
        width: 80%;
		margin: 28px 0 0 12.5%;
    }

    .point .pointBox:nth-of-type(odd) .txtBox {
        display: block;
		margin: 32px 0 0 7.5%;
    }

    .point .pointBox .txtBox .txtInner {
        width: 100%;
        margin: 0;
    }


    .point .pointBox .txtBox .txtInner h6 {
        font-size: 1.8rem;
        line-height: 178%;
    }

    .point .pointBox .txtBox .txtInner p {
        font-size: 1.6rem;
        margin-top: 16px;
    }

    .point .pointBox .txtBox .txtInner p:last-of-type {
        font-size: 1.4rem;
        margin-top: 16px;
    }	
	
}


/*shoot
-----------------------------------------------------------*/

.shoot {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
	background-color: #fbfaf5;
	padding: 108px 0 80px;
}

.shoot h5 {
	margin: 48px 0 64px;
}

.shoot .shootBox {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
}

.shoot .shootBox .shootInner {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	width: clamp(960px, 80%, 1200px);
}

.shoot .shootBox .shootInner .shootItem {
	width: 30%;
	margin-bottom: 40px;
}

.shoot .shootBox .shootInner::after {
	content: '';
	width: 30%;
	height: 0;
}

.shoot .shootBox .shootInner .shootItem:nth-of-type(1),
.shoot .shootBox .shootInner .shootItem:nth-of-type(2) {
	width: 47.5%;
	margin-bottom: 48px;
}

.shoot .shootBox .shootInner .shootItem .thumb {
	width: 100%;
}

.shoot .shootBox .shootInner .shootItem h6 {
	font-size: 2rem;
	line-height: 180%;
	font-weight: 700;
	margin-top: 12px;
}

.shoot .shootBox .shootInner .shootItem p {
	font-size: 1.5rem;
	line-height: 187%;
	font-weight: 600;
	margin-top: 6px;
}

.shoot .shootBox .shootInner .shootItem p {
	font-size: 1.5rem;
	line-height: 187%;
	font-weight: 600;
	margin-top: 6px;
}

.shoot .shootBox .shootAttention {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
	margin-top: 32px;
}

.shoot .shootBox .shootAttention .shootAttentionInner {
	position: relative;
	display: inline-block;
	background-color: #fff;
	padding: 12px 32px 16px 76px;
	max-width: 87.5%;
}

.shoot .shootBox .shootAttention .shootAttentionInner .mark {
	position: absolute;
	top: 28px;
	left: 28px;
	width: 32px;
}

.shoot .shootBox .how {
	font-size: 1.5rem;
	line-height: 187%;
	font-weight: 700;
	margin-top: 12px;
}

.shoot .shootBox ul {
	margin-top: 2px;
}

.shoot .shootBox ul li {
	position: relative;
	padding-left: 12px;
	font-size: 1.5rem;
	line-height: 180%;
	font-weight: 600;
	margin-bottom: 2px;
}

.shoot .shootBox ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 5px;
    height: 5px;
    background-color: #97b4a9;
    border-radius: 50%;å
}

@media screen and (max-width: 800px) {
	
    .shoot {
        padding: 64px 0 40px;
    }

    .shoot h5 {
        margin: 32px 0 40px;
    }

    .shoot .shootBox .shootInner {
        width: 87.5%;
    }

    .shoot .shootBox .shootInner .shootItem {
        width: 47.5%;
        margin-bottom: 32px;
    }

    .shoot .shootBox .shootInner .shootItem:nth-of-type(1),
    .shoot .shootBox .shootInner .shootItem:nth-of-type(2) {
        width: 100%;
        margin-bottom: 32px;
    }

    .shoot .shootBox .shootInner .shootItem h6 {
        font-size: 1.6rem;
        line-height: 175%;
        margin-top: 10px;
    }

    .shoot .shootBox .shootInner .shootItem p {
        margin-top: 5px;
        font-size: 1.4rem;
        line-height: 185%;
    }

    .shoot .shootBox .shootAttention {
        margin-top: 0;
    }

    .shoot .shootBox .shootAttention .shootAttentionInner {
        padding: 10px 24px 14px 64px;
    }

    .shoot .shootBox .shootAttention .shootAttentionInner .mark {
        top: 24px;
        left: 24px;
        width: 28px;
    }

    .shoot .shootBox .how {
        font-size: 1.4rem;
        margin-top: 10px;
    }

    .shoot .shootBox ul li {
        padding-left: 10px;
        font-size: 1.4rem;
        line-height: 178%;
	}

    .shoot .shootBox ul li::before {
        top: 11px;
        width: 4px;
        height: 4px;
    }
	
}


/*heart
-----------------------------------------------------------*/

.heart {
	position: relative;
	background-color: #43676b;
	padding: 108px 0 120px;
	color: #fff;
}

.heart .heartBox {
	margin: 40px auto 0;
	width: 1096px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;	
}

.heart .heartBox .heartItem {
	width: 256px;
	border: solid 1px #b7c2c4;
	text-align: center;
	padding: 24px 8px;
}

.heart .heartBox .heartItem h6 {
	font-size: 2.2rem;
	line-height: 150%;
	font-weight: 600;
}

.heart .heartBox .heartItem p {
	font-weight: 500;
	line-height: 187.5%;
	margin-top: 12px;
}

.heart .heartBox .heartItem p span {
	position: relative;
	left: 5px;
}


@media screen and (max-width: 1279px) {

    .heart .heartBox {
        width: 960px;
    }

    .heart .heartBox .heartItem {
        width: 224px;
        padding: 24px 6px;
    }

    .heart .heartBox .heartItem h6 {
        font-size: 2.1rem;
    }

    .heart .heartBox .heartItem p {
		font-size: 1.4rem;
        margin-top: 12px;
    }

    .heart .heartBox .heartItem p span {s
        left: 4px;
    }
	
}


@media screen and (max-width: 800px) {

    .heart {
        padding: 64px 0;
    }

    .heart .heartBox {
        margin: 32px auto 0;
        width: 100%;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .heart .heartBox .heartItem {
        width: min(42.5%, 240px);
        padding: 20px 6px;
		margin: 0 2vw min(6.25vw, 32px);
    }

    .heart .heartBox .heartItem h6 {
        font-size: 1.8rem;
        line-height: 150%;
        font-weight: 600;
    }

    .heart .heartBox .heartItem p {
		font-size: 1.4rem;
        margin-top: 10px;
    }

    .heart .heartBox .heartItem p span {
        position: relative;
        left: 3px;
    }
	
}


@media screen and (max-width: 512px) {

    .heart .heartBox .heartItem {
        width: min(100%, 256px);
		margin: 0 5vw 16px;
    }
	
}


/*relation
-----------------------------------------------------------*/

.relation {
	position: relative;
	background-color: #fff;
	width: 100%;
	padding: 108px 0 120px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.relation .txtBox {
	width: 800px;
	margin-top: 48px;
}

.relation .txtBox h6 {
	font-size: 2rem;
	line-height: 180%;
	font-weight: 600;
}

.relation .txtBox p {
	margin-top: 16px;
}


@media screen and (max-width: 800px) {

    .relation {
        padding: 64px 0;
    }

    .relation .txtBox {
        width: 87.5%;
        margin-top: 32px;
    }

    .relation .txtBox h6 {
        font-size: 1.8rem;
        line-height: 178%;
    }
	
}


/*ticket
-----------------------------------------------------------*/

.ticket {
	position: relative;
	background-color: #fbfaf5;
	width: 100%;
	padding: 108px 0 120px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.ticket .txtBox {
	width: 800px;
	margin-top: 48px;
}

.ticket .txtBox h6 {
	font-size: 2.4rem;
	line-height: 175%;
	font-weight: 600;
	margin-top: 64px;
	text-align: center;
}

.ticket .txtBox h6 span {
	position: relative;
	display: inline-block;
	z-index: 0;
}

.ticket .txtBox h6 span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    width: calc(100% - 8px);
    height: 10px;
    background-color: #c1d9d9;
    z-index: -1;
}

.ticket .ticketBox {
	margin-top: 16px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.ticket .ticketBox .ticketBoxInner {
	display: inline-block;
}

.ticket .txtBox .head {
	margin-top: 40px;
	display: inline-block;
	padding: 8px 20px 9px;
	font-size: 1.6rem;
	line-height: 150%;
	font-weight: 500;
	border: solid 1px #888;
}

.ticket .txtBox p span {
	display: inline-block;
}

.ticket .txtBox p em {
    position: relative;
	display: inline-block;
	font-weight: 700;
	font-style: normal;
	margin: 0 2px;
	z-index: 0;
}

.ticket .txtBox p em::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px;
    width: 100%;
    height: 6px;
    background-color: #c1d9d9;
    z-index: -1;
}

.ticket .txtBox ul {
	margin-top: 20px;
}

.ticket .txtBox ul li {
    position: relative;
    padding-left: 16px;
	margin-bottom: 12px;
	font-size: 1.8rem;
	line-height: 178%;
	font-weight: 500;
}

.ticket .txtBox ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    width: 6px;
    height: 6px;
    background-color: #97b4a9;
    border-radius: 50%;
}

.ticket .txtBox ul li .busBox {
	margin: 6px 0 4px;
}

.ticket .txtBox ul li .busBox .bus {
    position: relative;
    padding-left: 18px;
    color: #43676b;
	font-weight: 600;
	margin-bottom: 4px;
}

.ticket .txtBox ul li .busBox .bus::before {
    content: "▶";
    position: absolute;
    left: 0;
    top: 17px;
    transform: translateY(-50%);
    font-size: 7px;
}

.ticket .txtBox .txtEnd {
	width: 100%;
	margin-top: 48px;
	text-align: center;
	font-size: 2rem;
	line-height: 180%;
	font-weight: 700;
	color: #43676b;
}

.ticket .txtBox .txtEnd span {
	display: inline-block;
}

@media screen and (max-width: 800px) {

    .ticket {
        padding: 64px 0;
    }

    .ticket .txtBox {
        width: 87.5%;
        margin-top: 32px;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .ticket .txtBox h6 {
        font-size: 2rem;
        line-height: 180%;
        margin-top: 40px;
    }

    .ticket .ticketBox {
        margin-top: 16px;
        display: block;
    }

    .ticket .ticketBox .ticketBoxInner {
        display: block;
    }

    .ticket .txtBox .head {
        margin-top: 28px;
        padding: 6px 16px 7px;
        font-size: 1.4rem;
    }

    .ticket .txtBox ul {
        margin-top: 18px;
    }

    .ticket .txtBox ul li {
        padding-left: 16px;
        margin-bottom: 10px;
        font-size: 1.6rem;
        line-height: 175%;
    }

    .ticket .txtBox ul li::before {
        top: 13px;
        width: 5px;
        height: 5px;
    }

    .ticket .txtBox .txtEnd {
        margin-top: 40px;
        font-size: 1.8rem;
        line-height: 178%;
    }
	
}


/*reserve
-----------------------------------------------------------*/

.reserve {
	position: relative;
	background-color: #fff;
	width: 100%;
	padding: 108px 0 120px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.reserve .reserveBox {
	margin-top: 64px;
	position: relative;
	width: 920px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.reserve .reserveBox a {
	display: block;
	width: 280px;
	height: 120px;
	border-radius: 60px;
	background-color: #c1d9d9;
	background-image: url("../img/bow.svg");
	background-position: top 53px right 24px;
	background-repeat: no-repeat;
	background-size: 20px 14px;
	padding: 28px 0 0 44px;
	font-size: 2rem;
	line-height: 150%;
	font-weight: 500;
}

.reserve .reserveBox a span {
	display: block;
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: 4px;
}

.reserve .reserveBox .ch {
	font-family: "Noto Serif SC", serif;
}

@media screen and (max-width: 800px) {

    .reserve {
        padding: 64px 0;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .reserve .reserveBox {
        margin-top: 40px;
		width: 87.5%;
        flex-wrap: wrap;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .reserve .reserveBox a {
        display: block;
        width: 280px;
        height: 96px;
        border-radius: 48px;
        background-position: top 41px right 24px;
        padding: 20px 0 0 40px;
        font-size: 1.8rem;
		margin: 0 12px 16px;
    }

    .reserve .reserveBox a span {
        font-size: 1.3rem;
        margin-top: 2px;
    }
	
	
}


/*access
-----------------------------------------------------------*/

.access {
	position: relative;
	background-color: #fbfaf5;
	width: 100%;
	padding: 96px 0 32px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.access .accessSpace {
	width: 100%;
	height: 64px;
}

.access .accessFrame {
	width: 640px;
}

.access .accessBox {
	width: 100%;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	margin-bottom: 48px;
}

.access .accessBox .nameBox {
	width: 120px;
	font-size: 1.8rem;
	line-height: 150%;
	font-weight: 500;
	margin-bottom: 12px;
}

.access .accessBox .aboutBox {
	width: 520px;
}

.access .accessBox .aboutBox .gc {
	display: block;
	position: relative;
	padding-left: 3.5em;
}

.access .accessBox .aboutBox .gc::before {
	position: absolute;
	top: 0;
	left: 0;
}

.access .accessBox .aboutBox .gc:nth-of-type(1)::before {
	content: '行き';
}

.access .accessBox .aboutBox .gc:nth-of-type(2)::before {
	content: '帰り';
}

.access .accessBox .aboutBox a {
	display: inline-block;
}

@media screen and (max-width: 800px) {

    .access {
        padding: 64px 0 32px;
    }

    .access .accessSpace {
        height: 32px;
    }

    .access .accessFrame {
        width: 87.5%;
    }

    .access .accessBox {
        display: block;
        margin-bottom: 32px;
    }

    .access .accessBox .nameBox {
        width: 100%;
        font-size: 1.6rem;
    }

    .access .accessBox .aboutBox {
        width: 100%;
    }

    .access .accessBox .aboutBox .gc {
        display: block;
        position: relative;
        padding-left: 3.5em;
    }
	
}


/*google mymap
-----------------------------------------------------------*/

.gmymap {
	width: 100%;
	height: min(75vh, 800px);
	position: relative;
	overflow: hidden;
}

.gmymap iframe {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 800px) {
	
	.gmymap {
        height: min(50vh, 600px);
    }
	
}

/*links
-----------------------------------------------------------*/

.links {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	width: 100%;
	background-color: #fff;
	padding: 108px 0;
}

.links h5 {
	margin-top: 48px;
}

.links .linksBox {
	margin-top: 64px;
	width: 640px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.links .linksBox .adress {
	width: 100%;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	margin-bottom: 64px;
}

.links .linksBox .contact {
	width: 100%;
	margin-bottom: 64px;
}

.links .linksBox .adress .nameBox {
	width: 280px;
}

.links .linksBox .adress .adressBox {
	width: 360px;
}

.links .linksBox .adress .nameBox,
.links .linksBox .contact .nameBox {
	font-size: 1.8rem;
	line-height: 150%;
	font-weight: 500;
	margin-bottom: 12px;
}

.links .linksBox .notes {
	font-size: 1.4rem;
	line-height: 171%;
	margin-top: 8px;
}

@media screen and (max-width: 800px) {

    .links {
        padding: 64px 0;
    }

    .links h5 {
        margin-top: 32px;
    }

    .links .linksBox {
        margin-top: 32px;
        width: 87.5%;
        display: block;
    }

    .links .linksBox .adress {
        display: block;
        margin-bottom: 32px;
    }

    .links .linksBox .contact {
        margin-bottom: 32px;
    }

    .links .linksBox .adress .nameBox,
	.links .linksBox .adress .adressBox {
        width: 100%;
    }

    .links .linksBox .adress .nameBox,
    .links .linksBox .contact .nameBox {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }

    .links .linksBox .notes {
        font-size: 1.3rem;
        line-height: 169%;
        margin-top: 6px;
    }
	
}


/*footer
-----------------------------------------------------------*/

footer {
	position: relative;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	background-color: #111;
	color: #fff;
	padding: 64px 64px 32px;
}

footer .logoBox {
	width: 300px;
}

footer .logoBox .snsBox {
	margin-top: 32px;
	width: 160px;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

footer .logoBox .snsBox li {
	width: 22.5%;	
}

footer .logoBox .snsBox li a {
	display: block;
	opacity: 0.6;
}

footer .copyBox {
	width: 600px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 250%;
	text-align: right;
}

footer .copyBox span {
	font-size: 1.2rem;
}

@media screen and (max-width: 800px) {

    footer {
        -webkit-justify-content: center;
        justify-content: center;
        padding: 60px 0 12px;
    }

    footer .logoBox {
        width: min(50%, 300px);
    }

    footer .logoBox .snsBox {
        margin-top: 24px;
        width: min(90%, 160px);
    }

    footer .copyBox {
        width: auto;
		display: inline-block;
        font-size: 1.2rem;
		line-height: 200%;
        text-align: left;
		margin-top: 48px;
    }

    footer .copyBox span {
        font-size: 1rem;
    }
	
}


/*class
-----------------------------------------------------------*/

.txtLink {
	color: #43676b;
	text-decoration: underline;
}

.txtLink:hover {
	text-decoration: none;
}

.notes {
	display: block;
	position: relative;
	padding-left: 1.2em;
}

.notes::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '※';
}

