/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

br.small {
	display: inline;
}
br.large {
	display: none;
}
img.small {
	display: block;
}
img.large {
	display: none;
}
span.no-small {
	display: none;
}
*.margin-bottom-wide {
	margin-bottom: 60px;
}



/* --------------------------------------------------------------------------------
page
-------------------------------------------------------------------------------- */

div#page {
	padding-top: 60px;
}

/* home
-------------------------------------------------------------------------------- */

body.home div#page {
	padding-top: 60px;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

header#header *#logo,
body.admin-bar header#header *#logo {
	top: 0px;
}
header#header *#logo {
	height: 60px;
	z-index: 20;
	background-color: #ffffff;
}
header#header *#logo img {
	width: calc(291px * 0.75);
}
header#header :where(p#button-menu, div#menu) {
	position: fixed;
}
header#header p#button-menu {
	width: 60px;
	height: 60px;
	right: 0px;
	top: 0px;
	z-index: 30;
	cursor: pointer;
}
header#header p#button-menu i {
	display: block;
	position: absolute;
	width: 30px;
	height: 0px;
	left: calc(50% - 15px);
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #224c93;
	transition: 0.25s all ease;
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-8px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(8px);
}
div.menu-header header#header p#button-menu i:nth-child(-n+3) {
	width: 0px;
	left: 50%;
	opacity: 0;
	transform: translateY(0px);
}
div.menu-header header#header p#button-menu i:nth-child(4) {
	transform: rotate(45deg);
}
div.menu-header header#header p#button-menu i:nth-child(5) {
	transform: rotate(-45deg);
}
header#header div#menu {
	width: 100%;
	height: 100%;
	right: 0px;
	top: 0px;
	overflow: auto;
	z-index: 10;
	background-color: #ffffff;
	transform: translateX(100%);
	transition: 0.25s transform ease;
	-webkit-overflow-scrolling: touch;
}
div.menu-header header#header div#menu {
	transform: translateX(0%);
}
header#header div#menu::-webkit-scrollbar {
	display: none;
}
header#header div#menu div.inner-menu {
	padding: 80px 30px 40px 30px;
}
header#header nav#navi {
	position: static;
	right: auto;
	top: auto;
	margin-bottom: 20px;
}
body.admin-bar header#header nav#navi {
	top: auto;
}
header#header nav#navi ul {
	display: block;
}
header#header nav#navi ul li {
	text-align: center;
	font-size: 1.125rem;
}
header#header nav#navi ul li:where(.standard, .document) {
	display: block;
}
header#header nav#navi ul li:not(:last-child) {
	border-bottom: 1px solid #d9d9d9;
}
header#header nav#navi ul li a {
	display: block;
	height: auto;
	padding: 20px 0px;
}
header#header nav#navi ul li a::before {
	display: none;
}
header#header p:where(.contact, .iticket) {
	position: static;
	width: auto;
	right: auto;
	bottom: 0px;
}
header#header p:where(.contact, .iticket):not(:last-child) {
	margin-bottom: 10px;
}
header#header p:where(.contact, .iticket) a {
	width: auto;
}
header#header p.contact,
body.admin-bar header#header p.contact {
	top: auto;
}
header#header p.contact a {
	border-top: 1px solid #224c93;
	border-radius: 10px;
}
header#header p.iticket {
	top: auto;
}
body.admin-bar header#header p.iticket {
	top: auto;
}
header#header p.iticket svg {
	width: calc(426px * 0.5);
}



/* --------------------------------------------------------------------------------
cover
-------------------------------------------------------------------------------- */

div#cover {
	height: 540px;
}
body.admin-bar div#cover {
	height: 540px;
}
div#cover div.text {
	bottom: 40px;
}
div#cover div.text h2 {
	font-size: 1.375rem;
}
div#cover div.text h2 span {
	width: 260px;
	height: 50px;
}



/* --------------------------------------------------------------------------------
title
-------------------------------------------------------------------------------- */

div#title {
	height: 140px;
}
div#title h1 {
	font-size: 1.5rem;
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

main section div.inner-section {
	width: auto;
	padding: 80px 30px;
}
main section#access div.map {
	margin: 0px -30px 40px -30px;
}
main section#access div.map iframe {
	height: 320px;
}
main section#access div.list-wrapper {
	display: block;
}
main section#access div.list-wrapper div.list {
	width: auto;
}
main section#access div.list-wrapper div.list:not(:last-child) {
	margin-bottom: 10px;
}
main section#reception::before {
	width: 100%;
	left: 0px;
	border-radius: 20px 20px 0px 0px;
}
main section#reception div.inner-section {
	padding: 40px 30px;
}
main section#reception div.list {
	margin-bottom: 40px;
}
main section#reception table {
	width: 100%;
}
main section#partnership div.button-wrapper {
	display: block;
	margin: 0px;
}
main section#partnership  div.button-wrapper p.button-default {
	width: auto;
	margin: 0px;
}
main section#partnership  div.button-wrapper p.button-default:not(:last-child) {
	margin-bottom: 10px;
}
main div.headline {
	margin-left: auto;
	margin-right: auto;
}
main article.common-alternate {
	width: auto;
}
main article.common-alternate header div.headline {
	width: calc(100% - 40px);
}
main article.common-alternate div.content {
	padding: 20px 20px 40px 20px;
}
main article.common-alternate div.content hr {
	margin: 60px 0px;
}
main article.common-alternate div.content p.illust img {
	width: 100%;
}
main article.common-alternate div.content div:where(.image-text, .illust-text) {
	display: block;
}
main article.common-alternate div.content div:where(.image-text, .illust-text) div.text {
	margin-bottom: 20px;
}
main article.common-alternate div.content div.illust-text p.illust {
	margin-left: auto;
	margin-right: auto;
}
main article.common-alternate div.content div.frame {
	padding: 20px;
}
main article.common-alternate div.content div.frame h2.headline:first-child {
	transform: translate(-20px, -20px);
}
main article.common-alternate p.button-list {
	left: calc(50% - 100px);
	right: auto;
}
main :where(div#pager, nav#navi-article) {
	margin-top: 80px;
}

/* home
-------------------------------------------------------------------------------- */

main section.column div.inner-section {
	display: block;
}
main section.column header {
	width: auto;
	margin-bottom: 40px;
}
main section.column div.content {
	width: auto;
}
main section#home-news div.inner-section {
	padding-top: 40px;
}
main section#home-news div.image {
	display: block;
	margin: 0px -30px 60px -30px;
}
main section#home-news div.image p.row:nth-child(1) img {
	border-top-left-radius: 20px;
}
main section#home-news div.image p.row:nth-child(2) img {
	border-top-right-radius: 20px;
}
main section#home-news div.image p.row-01 {
	width: calc(50% + 60px);
	margin: 0px 0px 0px auto;
}
main section#home-news div.image p.row-02 {
	width: calc(50% + 20px);
	margin-top: -40px;
}
main section#home-news div.list-news-wrapper {
	padding: 40px 0px;
}
main section#home-news div.list-news-wrapper::before {
	width: 100vw;
	left: -30px;
	border-radius: 20px 20px 0px 0px;
}
main section#home-news p.button-left {
	justify-content: center;
}
main div#iticket {
	padding: 40px 30px;
}
main div#iticket::before {
	height: 100%;
	top: 0px;
	border-radius: 20px 20px 0px 0px;
}
main div#iticket div.image-text {
	display: block;
	width: auto;
}
main div#iticket div.image-text p.image {
	display: none;
}
main div#iticket div.image-text div.text {
	width: auto;
}
main div#iticket div.image-text div.text h2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main div#iticket div.image-text div.text h2 svg {
	width: calc(426px * 0.75);
}
main div#iticket div.image-text div.text p.button-left {
	justify-content: center;
}
main section#home-menu div.content {
	margin-bottom: 80px;
}
main section#home-menu div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#home-menu div.block div.list {
	display: block;
	margin: 0px;
}
main section#home-menu div.block div.list div.row {
	width: auto;
	margin: 0px;
}
main section#home-menu div.block div.list div.row:not(:last-child) {
	margin-bottom: 10px;
}
main section#home-menu div.block-01 div.list div.row p.description {
	min-height: 0px;
}
main section#home-menu div.block-02 div.list div.row a {
	padding: 10px 20px;
}
main section#home-menu div:where(.block-02, .block-03) div.list div.row p.icon {
	width: calc(84px * 0.75);
}
main section#home-menu div.block-02 div.list div.row h4 {
	width: calc(100% - calc(84px * 0.75) - 10px);
}
main section#home-menu div.block-03 div.list {
	margin: 0px;
}
main section#home-menu div.block-03 div.list div.row a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	aspect-ratio: auto;
	padding: 10px 20px;
	border-radius: 10px;
}
main section#home-menu div.block-03 div.list div.row p.icon {
	margin: 0px;
}
main section#home-menu div.block-03 div.list div.row div.text {
	width: calc(100% - calc(84px * 0.75) - 10px);
}
main section#home-menu div.block-03 div.list div.row div.text h4 {
	height: auto;
	margin: 0px -20px 10px -20px;
}
main section#home-menu div.image-wrapper p.image {
	margin-left: -30px;
}
main section#home-menu div.image-wrapper p.image img {
	border-top-right-radius: 20px;
}

/* news
-------------------------------------------------------------------------------- */

main div.list-news div.row {
	display: block;
	padding: 0px;
}
main div.list-news div.row p.created {
	width: auto;
}
main div.list-news div.row h3 {
	width: auto;
}
main section#news div.inner-section {
	width: auto;
}

/* greeting
-------------------------------------------------------------------------------- */

main section#greeting div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#greeting div.block-01 div.column {
	display: block;
	margin-right: 0px;
}
main section#greeting div.block-01 div.column div.left {
	width: auto;
	margin-bottom: 40px;
}
main section#greeting div.block-01 div.column div.right {
	width: auto;
	margin-right: -30px;
}
main section#greeting div.block-01 div.column div.right p.image {
	margin-bottom: 40px;
}
main section#greeting div.block-01 div.column div.right p.image img {
	border-top-left-radius: 20px;
}
main section#greeting div.block-01 div.column div.right div.outline {
	width: auto;
	margin-left: 0px;
}
main section#greeting div:where(.block-02, .block-03, .block-04) div.image-text {
	display: block;
}
main section#greeting div:where(.block-02, .block-04) div.image-text {
	margin-left: 0px;
}
main section#greeting div:where(.block-02, .block-03, .block-04) div.image-text div.text {
	width: auto;
	margin-bottom: 40px;
	padding-top: 0px;
}
main section#greeting div:where(.block-02, .block-03, .block-04) div.image-text p.image {
	width: auto;
}
main section#greeting div:where(.block-02, .block-04) div.image-text p.image {
	margin-left: -30px;
}
main section#greeting div:where(.block-02, .block-04) div.image-text p.image::before,
main section#greeting div:where(.block-02, .block-04) div.image-text p.image img {
	border-top-right-radius: 20px;
}
main section#greeting div.block-03 div.image-text {
	margin-right: 0px;
}
main section#greeting div.block-03 div.image-text p.image {
	margin-right: -30px;
}
main section#greeting div.block-03 div.image-text p.image::before,
main section#greeting div.block-03 div.image-text p.image img {
	border-top-left-radius: 20px;
}

/* feature
-------------------------------------------------------------------------------- */

main section#feature div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#feature div.block-01 div.column {
	display: block;
	margin-right: 0px;
}
main section#feature div.block-01 div.column div.left {
	width: auto;
	margin-bottom: 40px;
}
main section#feature div.block-01 div.column div.right {
	width: auto;
}
main section#feature div.block-01 div.column div.right p.image img {
	border-top-left-radius: 20px;
}
main section#feature div:where(.block-02, .block-03, .block-04) div.text {
	width: auto;
	margin-bottom: 60px;
}
main section#feature div:where(.block-02, .block-03, .block-04) p.image {
	margin-left: -30px;
	margin-right: -30px;
}
main section#feature div:where(.block-02, .block-03, .block-04) p.image::before,
main section#feature div:where(.block-02, .block-03, .block-04) p.image img {
	border-radius: 0px;
}

/* treatment
-------------------------------------------------------------------------------- */

main section#treatment-01 div.illust-text-01 div.text {
	width: auto;
}
main section#treatment-01 div.illust-text-01 p.illust {
	width: calc(210px * 0.75);
}
main section#treatment-01 div.illust-text-02 div.text {
	width: auto;
}
main section#treatment-01 div.illust-text-02 p.illust {
	width: calc(190px * 0.75);
}
main section#treatment-02 div.illust-text div.text {
	width: auto;
}
main section#treatment-02 div.illust-text p.illust {
	width: calc(230px * 0.75);
}
main section#treatment-03 div.illust-text div.text {
	width: auto;
}
main section#treatment-03 div.illust-text p.illust {
	width: calc(240px * 0.75);
}
main section#treatment-05 div.illust-text div.text {
	width: auto;
}
main section#treatment-05 div.illust-text p.illust {
	width: calc(180px * 0.75);
}
main section#treatment-06 div.illust-text-01 div.text {
	width: auto;
}
main section#treatment-06 div.illust-text-01 p.illust {
	width: calc(210px * 0.75);
}
main section#treatment-06 div.illust-text-02 div.text {
	width: auto;
}
main section#treatment-06 div.illust-text-02 p.illust {
	width: calc(270px * 0.75);
}
main section#treatment-07 div.illust-text div.text {
	width: auto;
}
main section#treatment-07 div.illust-text p.illust {
	width: calc(280px * 0.75);
}
main section#treatment-08 div.image-text div.text {
	width: auto;
}
main section#treatment-08 div.image-text p.image {
	width: auto;
	/* border-radius: 10px; */
}
main section#treatment-09 div.illust-text div.text {
	width: auto;
}
main section#treatment-09 div.illust-text p.illust {
	width: calc(220px * 0.75);
}
main section#treatment-10 div.illust-text div.text {
	width: auto;
}
main section#treatment-10 div.illust-text p.illust {
	width: calc(300px * 0.75);
}
main section#treatment-11 div.illust-text div.text {
	width: auto;
}
main section#treatment-11 div.illust-text p.illust {
	width: calc(140px * 0.75);
}
main section#treatment-13 p.illust {
	width: auto;
}
main section#treatment-14 div.illust-text div.text {
	width: auto;
}
main section#treatment-14 div.illust-text p.illust {
	width: calc(130px * 0.75);
}
main section#treatment-15 div.illust-text div.text {
	width: auto;
}
main section#treatment-15 div.illust-text p.illust {
	width: calc(380px * 0.75);
}
main section#treatment-17 div.illust-text div.text {
	width: auto;
}
main section#treatment-17 div.illust-text p.illust {
	width: calc(360px * 0.75);
}

/* facility
-------------------------------------------------------------------------------- */

main section#facility div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#facility div.block div.list {
	display: blck;
	margin-right: 0px;
}
main section#facility div.block div.list:last-child {
	margin-bottom: 0px;
}
main section#facility div.block div.list div.row {
	margin: 0px;
}
main section#facility div.block div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#facility div.block div.list div.row p.image {
	margin-bottom: 10px;
}
main section#facility div.block div.list div.row p.image img {
	border-radius: 20px 0px 20px 0px;
}
main section#facility div.block-01 div.list div.row,
main section#facility div.block-02 div.list-02 div.row {
	width: auto;
}
main section#facility div.block-02 div.list-01 {
	margin-bottom: 40px;
}
main section#facility div.block-02 div.list-01 div.row {
	width: calc(100% - 80px);
}

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

main section#access-alternate div.inner-section {
	width: auto;
}
main section#access-alternate div.list div.row,
main section#access-alternate div.list div.row div.body {
	display: block;
}
main section#access-alternate div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#access-alternate div.list div.row:not(:last-child):has(p.icon) {
	margin-bottom: 20px;
}
main section#access-alternate div.list div.row p.label {
	margin: 0px auto 20px auto;
}
main section#access-alternate div.list div.row div.body {
	width: auto;
	text-align: center;
}
main section#access-alternate div.list div.row div.body p.button-default {
	margin: 20px 0px 0px 0px;
}
main section#access-alternate div.list div.row:has(p.way) div.body p.way {
	width: auto;
	padding-top: 0px;
}
main section#access-alternate div.list div.row:has(p.way) div.body p.way::before {
	display: none;
}
main section#access-alternate div.list div.row:has(p.way) div.body p.icon {
	margin: 10px auto 0px auto;
}
main section#access-alternate div.map {
	margin-left: -30px;
	margin-right: -30px;
}
main section#access-alternate div.map iframe {
	height: 320px;
}

/* supplement
-------------------------------------------------------------------------------- */

main div.list-supplement div.row:not(:last-child) {
	margin-bottom: 60px;
	padding-bottom: 60px;
}
main div.list-supplement div.row h3 {
	display: block;
}
main div.list-supplement div.row h3 span.main:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
main div.list-supplement div.row h3 span.sub {
	text-align: center;
}
main div.list-supplement div.row div.image-text {
	display: block;
	margin-right: 0px;
}
main div.list-supplement div.row div.image-text p.image {
	width: calc(240px * 0.75);
	margin: 0px auto 20px auto;
}
main div.list-supplement div.row div.image-text div.text {
	width: auto;
	margin-bottom: 0px;
}

/* standard
-------------------------------------------------------------------------------- */

main div.list-standard-01 {
	display: block;
	margin: 0px 0px 60px 0px;
	padding-bottom: 60px;
}
main div.list-standard-01 div.row {
	width: auto;
	margin-bottom: 0px;
}
main div.list-standard-01 div.row:not(:last-child) {
	margin-bottom: 10px;
}

/* document
-------------------------------------------------------------------------------- */

main div.list-document {
	display: block;
	margin: 0px;
}
main div.list-document div.row {
	justify-content: flex-end;
	width: auto;
	margin: 0px;
}
main div.list-document div.row:not(:last-child) {
	margin-bottom: 20px;
}
main div.list-document div.row h3 {
	width: 100%;
}



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

footer#footer::before {
	border-radius: 20px 20px 0px 0px;
}
footer#footer div.inner-footer {
	padding: 40px 30px 20px 30px;
}
footer#footer p#button-page-top {
	right: 20px;
}
footer#footer div.information-navi-footer {
	display: block;
}
footer#footer div.information {
	width: auto;
	margin-bottom: 20px;
}
footer#footer div.information h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
footer#footer div.information h3 img {
	width: calc(291px * 0.75);
}
footer#footer div.information p.address-tel {
	display: block;
}
footer#footer div.information p.address-tel span {
	text-align: center;
}
footer#footer div.information p.address-tel span:not(:last-child) {
	margin-right: 0px;
}
footer#footer nav#navi-footer {
	display: none;
}
footer#footer p.copyright {
	text-align: center;
}
