/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root {
	--CommonColorBrown: #7e645d;
	--CommonColorPink: #f0bfb1;
	--CommonColorDarkGray: #0f0f0f;
	--CommonColorGray: #282828;
	--CommonColorLightGray: #ccc;
	--CommonColorWhite: rgba(255, 255, 255, 1);
	--CommonColorBlack: rgba(0, 0, 0, 1);

	--BaseFont: "Zen Old Mincho", serif;
	--SubFont: "Zen Kaku Gothic Antique", sans-serif;
	--FontSize7: 0.7rem;
	--FontSize10: 1rem;
	--FontSize12: 1.2rem;
	--FontSize14: 1.4rem;
	--FontSize16: 1.6rem;
	--FontSize18: 1.8rem;
	--FontSize20: 2rem;
	--FontSize24: 2.4rem;
	--FontSize28: 2.8rem;
	--FontSize30: 3rem;
	--FontSize32: 3.2rem;
	--FontSize36: 3.6rem;
	--FontSize44: 4.4rem;
	--FontSizeClamp13: min(1.3rem, 0.9vw);
	--FontSizeClamp16: min(1.6rem, 1.11vw);
	--FontSizeClamp18: min(1.8rem, 1.25vw);

	--BaseFontRegular: 400;
	--BaseFontMedium: 500;
	--BaseFontSemiBold: 600;
	--BaseFontBold: 700;

	--LineHeight28: 28px;
	--LineHeight26: 36px;
	--LineHeight60: 60px;
}

html {
	display: none;
}

body {
	width: 100%;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font-family: var(--BaseFont);
	font-style: normal;
	color: var(--CommonColorDarkGray);
	-webkit-font-smoothing: antialiased;
}

body.s {
	min-width: 320px;
}

#page,
#subpage {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.wrapper {
	width: 100%;
	min-height: 100vh;
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	font-size: var(--FontSize18);
}

.s .wrapper {
	padding-top: min(155px, 20.66vw);
	font-size: var(--FontSize16);
}

main {
	flex: 1;
}

section {
	padding-bottom: 110px;
}

.wrapper section:last-child {
	padding-bottom: 0;
}

.s section {
	padding-bottom: 60px;
}

a {
	text-decoration: none;
	position: relative;
	color: var(--CommonColorBrown);
	transition: 0.3s;
}

a:hover {
	opacity: 0.7;
}


img {
	max-width: 100%;
	width: 100%;
	height: auto;
}

/* スマホ時画像長押し保存禁止 */
img {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-touch-callout: none;
	-moz-user-select: none;
	touch-callout: none;
	user-select: none;
}

/* 三点リーダー用 */
.f-jp {
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ Pro", Meiryo, "メイリオ", "ＭＳ ゴシック", Helvetica, Arial, sans-serif;
}

/* ページナビ */
.page-nav-option {
	float: right;
}

.page-nav-option a {
	display: inline-block;
	line-height: 1;
	padding: 8px 10px;
	border: 1px solid #bbb;
	text-decoration: underline;
}

.page-nav-option a:hover {
	text-decoration: none;
}

.s .page-nav {
	border-bottom: none;
	padding: 10px 0 0
}

.s .page-nav-option {
	margin-bottom: 10px;
}

.s .page-nav-option a {
	padding: 10px 10px 12px 22px;
	margin-bottom: 4px;
}

.s .page-nav-option._noborder a {
	border: none;
	font-size: 1.3rem;
	padding: 0 0 0 22px;
}

.s .page-nav-option {
	float: none;
}


.exhibition-hospitality {
	display: inline-block;
	width: 130px;
	height: 23px;
	overflow: hidden;
	text-indent: -9999px;
}

.exhibition-hospitality.-family {
	background-image: url(../../common/img/icon_fee_family.png)
}

.exhibition-hospitality.-silver {
	background-image: url(../../common/img/icon_fee_silver.png)
}

.exhibition-hospitality.-senior {
	background-image: url(../../common/img/icon_fee_senior.png)
}

.exhibition-hospitality.-school {
	background-image: url(../../common/img/icon_fee_school.png);
	margin-right: 10px;
}

.exhibition-hospitality.-exemption {
	background-image: url(../../common/img/icon_fee_exemption.png);
	margin-right: 10px;
}

.exhibition-hospitality.-nursery {
	background-image: url(../../common/img/icon_fee_nursery.png)
}

.exhibition-hospitality.-family-en {
	background-image: url(../../common/img/icon_fee_family_en.png)
}

.exhibition-hospitality.-silver-en {
	background-image: url(../../common/img/icon_fee_silver_en.png)
}

.exhibition-hospitality.-exemption-en {
	background-image: url(../../common/img/icon_fee_exemption_en.png);
	margin-right: 10px;
}


/* ================================
        Header
================================ */
.header {
	position: fixed;
	min-width: 100vw;
	top: 0;
	z-index: 99;
	width: 100%;
	padding: 15px 20px 0 20px;
	background-color: var(--CommonColorBrown);
}

.s .header {
	height: 60px;
}

.h-logo {
	max-width: 205px;
	margin-bottom: 15px;
}

.m .h-logo {
	margin-bottom: 0;
}

.s .h-logo {
	max-width: 144px;
	width: 100%;
	margin-bottom: 0;
}

/* 言語ボタン */
.Header-lang {
	white-space: nowrap;
	display: flex;
	background-color: var(--CommonColorWhite);
	margin-left: auto;
	padding: 10px 0;
	transform: skewX(-12deg);
	margin-bottom: 15px;
}

.s .Header-lang,
.m .Header-lang {
	width: fit-content;
	margin: 30px auto;
}

.Header-lang a {
	text-decoration: none;
	display: block;
	font-size: var(--FontSizeClamp16);
	transition: 0.3s;
}

.s .Header-lang a,
.m .Header-lang a {
	text-decoration: none;
	font-size: var(--FontSize16);
}

.s .Header-lang a:hover,
.m .Header-lang a:hover {
	opacity: 1;
}

.Header-lang a:nth-of-type(1) {
	border-right: 2px solid var(--CommonColorBrown);
}

.Header-lang-btn {
	display: inline-block;
	color: var(--CommonColorBrown);
	font-weight: bold;
	padding: 0 14px;
	position: relative;
	transform: skewX(12deg);
	font-size: var(--FontSizeClamp16);
}

.Header-lang-btn._selected {
	pointer-events: none;
	color: var(--CommonColorBlack)
}

.Header-lang-btn._disabled {
	pointer-events: none;
	color: var(--CommonColorLightGray)
}

.skiplink-pc {
	display: block;
	outline: 0;
}

.s .skiplink-pc {
	display: none;
}

.skiplink-sp {
	display: none;
}

.s .skiplink-sp {
	display: block;
	outline: 0;
}

.skiplink-pc a,
.skiplink-sp a {
	display: block;
	height: 0;
	overflow: hidden;
	text-align: center;
	color: #231815;
	background: #000;
	outline: 0;
	line-height: 0;
	font-size: 1.4rem;
	position: relative;
	z-index: 100000;
}

.skiplink-pc a:focus,
.skiplink-sp a:focus {
	height: 3em;
	line-height: 1;
	color: #231815;
	padding: 1em 0;
	background: #110c0a;
}

.skiplink-pc a:focus:hover,
.skiplink-sp a:focus:hover {
	opacity: 1;
	text-decoration: underline;
}

/* --------------
	PC
-----------------*/
.header-box {
	max-width: 1440px;
	margin: 0 auto;
}

.m .header-box,
.s .header-box {
	display: none;
}

.header-box a {
	transition: 0.4s;
}

.pc-header {
	display: flex;
	max-width: 1440px;
	text-align: center;
	align-items: flex-end;
}

.header-nav {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-left: min(45px, 3.12vw);
}

.header-nav>li {
	padding: 0 min(14px, 0.97vw);
	font-weight: var(--BaseFontBold);
	line-height: var(--LineHeight120);
}

.header-nav>li span {
	font-size: var(--FontSizeClamp13);
	color: var(--CommonColorPink);
	padding-bottom: 12px;
	display: inline-block
}

.header-nav>li>a {
	display: block;
	text-decoration: none;
	font-size: var(--FontSizeClamp16);
	color: #fff;
	border-bottom: 4px solid transparent;
}

.en .header-nav>li a {
	font-size: var(--FontSizeClamp18);
	padding-bottom: 20px;
}

.header-nav>li>a:hover {
	opacity: 1;
	color: var(--CommonColorPink);
	border-bottom: 4px solid var(--CommonColorPink);
}

.header-nav li._selected a {
	pointer-events: none;
	color: var(--CommonColorPink);
	border-bottom: 4px solid var(--CommonColorPink);
}

.header-nav>li>div {
	display: block;
	text-decoration: none;
}

.header-nav>li:first-child {
	padding: 0 min(20px, 1.38vw) 0 0;
}

/* --------------
	SP
-----------------*/
.l #sp-header {
	display: none;
}

#sp-header {
	display: block;
}

#sp-header .sp-area {
	position: fixed;
	display: block;
	z-index: 99;
	top: 0;
	left: 0;
	right: 0;
	height: 60px;
	transition: .2s;
}

#sp-header .sp-area._scroll {
	background: rgba(250, 250, 250, 0.8);
	backdrop-filter: blur(5px);
	border-bottom: 1px solid #e8e4dc;
}

.top #sp-header .sp-area {
	position: relative;
}

#sp-header .sp-area.-h100 {
	height: 100%;
	overflow-y: scroll;
}

#sp-header .-container {
	display: flex;
	align-items: center;
	position: relative;
	height: 55px;
	text-align: center;
	padding: 0 15px;
	background: var(--CommonColorBrown);
	z-index: 5;
}

#sp-header .-container .-item.-menu {
	position: absolute;
	right: 0;
	width: 40px;
	height: 40px;
	margin: 0 10px 0 0;
}

#sp-header .-container .-item.-logo {
	position: relative;
	z-index: 3;
	transition: .3s;
}

#sp-header .-container .-item.-logo img {
	width: 220px;
	transition: .3s;
}

#sp-header a.menu-toggle {
	width: 100%;
	height: 100%;
	display: block;
	background: url(../img/icon_open.png) center center no-repeat;
	background-size: 40px 40px;
	position: relative;
	z-index: 30;
}

#sp-header a.menu-toggle.on {
	width: 100%;
	height: 100%;
	display: block;
	background: url(../img/icon_close.png) center center no-repeat;
	background-size: 28px 28px;
	position: relative;
	z-index: 30;
}

#sp-header .spmenu-inner {
	display: none;
	position: fixed;
	overflow-y: scroll;
	height: 100%;
	top: 0;
	width: 100%;
	background: var(--CommonColorBrown);
	z-index: 2;
	padding-top: 60px;
}

#menu-background {
	display: none;
}

.header-sns {
	display: flex;
	align-items: center;
	padding: 0;
	justify-content: center;
	gap: 20px;
}

.header-sns li {
	flex: 0 0 36px;
}

.header-sns li a:hover {
	opacity: 1;
}

.sp-nav {
	display: block;
	padding-bottom: 40px;
}

.sp-nav .-list {
	list-style: none;
	padding: 0;
	text-align: left;
}

.sp-nav .-list li {
	width: 100%;
	border-bottom: 1px solid var(--CommonColorWhite);
	text-align: center;
	display: block;
}

.sp-nav .-list li:first-of-type {
	border-top: 1px solid var(--CommonColorWhite);
}

.sp-nav .-list a {
	font-size: var(--FontSize18);
	width: 100%;
	display: block;
	color: #fff;
	padding: 17px 0;
	font-weight: var(--BaseFontBold);
	text-decoration: none;
}

.sp-nav .-list a:hover {
	opacity: 1;
}

.sp-nav .-list span {
	color: var(--CommonColorPink);
	font-size: var(--FontSize14);
}

/* ================================
        レイアウト
================================ */
.wrap {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	position: relative;
	padding: 70px 0 76px;
}

.s .wrap {
	padding: 60px 0 90px;
	max-width: none;
}

.contents-box {
	width: 100%;
	max-width: 940px;
	margin: 0 auto;
	padding: 140px 20px 120px;
	line-height: 1.6;
}

.s .contents-box {
	padding: 0 20px 80px 20px;
}

.flex_box_area {
	padding-bottom: 100px;
}

.s .flex_box_area {
	padding-bottom: 60px;
}

.flex_box {
	display: flex;
	gap: 15px;
}

.s .flex_box {
	flex-direction: column;
	gap: 20px;
}

.flex_image._440 {
	width: min(440px, 48.88vw);
}

.flex_image._290 {
	width: min(290px, 32.22vw);
}


.flex_image picture {
	display: flex;
	justify-content: center;
}

.flex_image img {
	width: auto;
	height: auto;
	display: block;
}

.s .flex_image {
	width: 100%;
}


.flex_adjust {
	flex: 1;
}



/* ================================
        タイトル
================================ */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#top h1 {
	order: 2;
	max-width: 749px;
	width: 58.424vw;
}

.s#top h1 {
	order: 1;
	max-width: 100%;
	width: 100%;
}

#subpage h2 {
	font-size: var(--FontSize44);
	text-align: center;
	font-weight: var(--BaseFontBold);
	line-height: var(--LineHeight36);
	padding-bottom: 65px;
}

.s #subpage h2 {
	font-size: var(--FontSize30);
	line-height: var(--LineHeight28);
	padding-bottom: 40px;

}

#subpage h2 span {
	font-size: var(--FontSize28);
	display: block;
	color: var(--CommonColorBrown);
}

.s #subpage h2 span {
	font-size: var(--FontSize20);
}

#subpage h3 {
	font-size: var(--FontSize36);
	font-weight: var(--BaseFontBold);
	border-bottom: 2px solid var(--CommonColorBrown);
	color: var(--CommonColorBrown);
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 40px;
	line-height: var(--LineHeight28);
}

.s #subpage h3 {
	font-size: var(--FontSize32);
	padding-bottom: 10px;
	padding-bottom: 20px;
}

#subpage h4 {
	font-size: var(--FontSize28);
	font-weight: var(--BaseFontBold);
	color: var(--CommonColorDarkGray);
	text-align: center;
	padding-bottom: 30px;
}

.s #subpage h4 {
	font-size: var(--FontSize24);
}

#subpage h5 {
	font-size: var(--FontSize18);
	font-weight: var(--BaseFontBold);
	padding-bottom: 10px;
}

.s #subpage h5 {
	font-size: var(--FontSize16);

}


/* ================================
        テキスト
================================ */
.text_caption {
	font-size: var(--FontSize12);
	font-family: var(--SubFont);
	font-weight: var(--BaseFontSemiBold);
	padding-top: 10px;
	text-align: left;
}

.s .text_caption {
	font-size: var(--FontSize10);
	padding-top: 5px
}

#subpage .text_caption {
	font-weight: var(--BaseFontMedium);
	color: var(--CommonColorGray);
	padding-top: 10px;
	letter-spacing: -0.8px;
}

.text_link>a {
	text-decoration: none;
	position: relative;
	color: var(--CommonColorBrown);
	transition: 0.3s;
}

.text_link>a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: var(--CommonColorBrown);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.text_link>a:hover {
	opacity: 1;
}


.text_link>a:hover::after {
	transform: scaleX(1);
}

.text_adjust {
	text-align: justify;
}



.common_list {
	text-indent: -1em;
	padding-left: 1em;
}


/* ================================
        TOP
================================ */
#top .wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 208px 20px 0 20px;
}

.s#top .wrap {
	min-height: auto;
	padding: 0 5.333vw 5.333vw 5.333vw;
}

#top .top-inner {
	max-width: 1282px;
	margin-inline: auto;
}

#top .top-mainarea {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.s#top .top-mainarea {
	flex-direction: column;
	gap: 0;
}

#top .top-info {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	transform: translateY(max(-84px, -6.55vw));
}

.s#top .top-info {
	transform: translateY(0);
	align-items: center;
	padding-top: 4.53vw;
}

#top h2 {
	max-width: 440px;
	width: 34.32vw;
	padding-bottom: min(7px, 0.54vw);
}

.s#top h2 {
	max-width: 89.33vw;
	width: 100%;
	padding-bottom: 1.86vw;
}

#top h3 {
	max-width: 370px;
	width: 28.86vw;
}

.s#top h3 {
	max-width: 62.66vw;
	width: 100%;
}

#top .top-works {
	display: flex;
	justify-content: center;
	gap: 40px;
	order: 1;
}

.s#top .top-works {
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 3vw;
	padding-top: 4.666vw;
	order: 2;
}

#top .top-works li:nth-of-type(1) {
	flex: 0 1 min(503.5px, 39.274vw);
}

.s#top .top-works li:nth-of-type(1) {
	flex: 0 0 100%;
	padding: 0 4.8vw;
	aspect-ratio: 740 / 540;
}

#top .top-works li:nth-of-type(2) {
	flex: 0 1 270px;
}

.s#top .top-works li:nth-of-type(2) {
	/* flex: 0 0 36vw; */
	display: none;
}

.top-works li:nth-of-type(3) {
	flex: 0 1 371px;
}

.s#top .top-works li:nth-of-type(3) {
	/* flex: 0 0 49.44vw; */
	display: none;
}

#top .text-caption {
	font-size: var(--FontSize12);
	font-family: var(--SubFont);
	font-weight: var(--BaseFontSemiBold);
	padding-top: 10px
}

.s#top .text-caption {
	font-size: 1.8666vw;
	padding-top: 5px
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ================================
        ニュース
================================ */
.news-list li {
	width: 100%;
	display: flex;
	border-bottom: solid 2px var(--CommonColorBrown);
	color: var(--CommonColorGray);
}

.s .news-list li {
	display: block;
}

.news-term {
	width: 20%;
	padding: 24px 10px 20px 10px;
}

li:first-of-type .news-term {
	padding-top: 0;
}

.s .news-term {
	padding: 10px 0 0 0;
	width: 100%;
}

.news-text {
	width: 80%;
	padding: 24px 10px 22px 10px;
}

li:first-of-type .news-text {
	padding-top: 0;
}

.s .news-text {
	padding: 10px 0;
	width: 100%;
}

.news-table dl {
	margin: 0;
	display: flex;
}

.s .news-table dl {
	display: block;
}

.news-table dt {
	padding: 24px 20px 22px 0;
	width: 20%;
}

.s .news-table dt {
	padding: 10px 0 0 0;
	width: 100%;
}

.news-table dd {
	padding: 24px 20px 22px 24px;
	width: 80%;
	margin: 0;
}

.s .news-table dd {
	padding: 0 0 10px 20px;
	width: 100%;
}

.pdf {
	max-width: 40px;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	margin-right: 12px;
	vertical-align: middle;
}

.s .pdf {
	max-width: 30px;
	font-size: 14px;
	font-size: 1.4rem;
}

/* ================================
        基本情報
================================ */
.info-box dl {
	display: flex;
	width: 100%;
	border-bottom: solid 2px var(--CommonColorBrown);
	margin: 0;
	padding: 20px 10px;
	color: var(--CommonColorDarkGray);
}

.info-box dl:first-of-type {
	padding-top: 0;
}

.s .info-box dl {
	display: block;
}

.info-box dt {
	width: 20%;
	font-weight: var(--BaseFontBold);
	color: var(--CommonColorBlack);
}

.s .info-box dt {
	width: 100%;
}

.info-box dd {
	width: 80%;
}

.s .info-box dd {
	width: 100%;
	margin: 0;
}

.admission-fee {
	font-size: var(--FontSize16);
	padding-left: 1em;
	text-indent: -1em;
}

.s .admission-fee {
	font-size: var(--FontSize12);
}

/* ================================
        みどころ・展示内容
================================ */

/* ================================
        イベント
================================ */
.btn-box {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	text-align: center;
	gap: 20px;
	width: 100%;
}

.m .btn-box {
	gap: 15px 8px;
}

.s .btn-box {
	gap: 15px 10px;
}

.button {
	position: relative;
	text-align: center;
	max-width: 260px;
	width: 33.33333%;
	font-size: 1.8rem;
	text-decoration: none;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.4;
}

.m .button {
	max-width: 230px;
	font-size: 1.6rem;
}

.btn-box .button {
	margin-left: unset;
	margin-right: unset;
}

.s .button {
	font-size: 1.6rem;
	width: 100%;
	max-width: 100%;
}

.button a {
	display: block;
}

.button a:hover {
	display: block;
	opacity: 0.6;
}


.button._previous a {
	padding: 14px 8px 14px 20px;
	border: 1px solid #0b318f;
	color: #0b318f;
}

.button._previous a::after {
	content: "";
	width: 8px;
	height: 8px;
	border: 0;
	border-bottom: 2px solid #0b318f;
	border-left: 2px solid #0b318f;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 20px;
}

.button._link a {
	padding: 14px 20px 14px 8px;
	border: 1px solid #0b318f;
	color: #fff;
	background-color: #0b318f;
}

.button._link a::after {
	content: "";
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
}

.button._disabled {
	padding: 14px 20px;
	text-decoration: none;
	color: #282828;
	background-color: #ccc;
	border: 1px solid #ccc;
}

.button._disabled::after {
	display: none;
}

/* ================================
        プレスの方へ
================================ */
.pdf-indent {
	text-indent: -3em;
	padding-left: 4.2em;
}

.s .pdf-indent {
	text-indent: -3em;
	padding-left: 3.8em;
}

.press-box {
	font-weight: var(--BaseFontBold);
	font-size: var(--FontSize20);
	text-align: center;
	margin-bottom: 20px;
}

.s .press-box {
	font-size: var(--FontSize16);
}

.press-box li {
	border: solid 2px var(--CommonColorBrown);
	padding: 20px 10px;
	margin-bottom: 20px;
}

.press-box li:nth-last-of-type(1) {
	margin-bottom: 40px;
}


.press-box a {
	color: var(--CommonColorGray);
	display: flex;
	justify-content: center;
	align-items: center;
}


.press-note-area {
	text-align: center;
}

.pdf-i {
	height: 15px;
	width: 35px;
}

/* 動画 */
.movie_box {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	text-align: center;
}

._movie {
	text-align: center;
	margin: 0 auto;
}

._movie iframe {
	aspect-ratio: 16 / 9;
}


/* ================================
        Footer
================================ */
#footer {
	opacity: 0;
}

footer {
	width: 100%;
	font-size: var(--FontSize12);
	text-align: center;
	font-weight: 400;
	font-style: normal;
	padding: 15px 25px;
	background-color: var(--CommonColorBrown);
	color: var(--CommonColorWhite);
	padding: 0;
}

footer a {
	color: #fff;
	text-decoration: none;
}

.footer-area {
	max-width: 1440px;
	margin: 0 auto;
	padding: 10px 20px;
	position: relative;
}

.s .footer-area {
	padding: 10px 20px;
}

.footer-info {
	display: flex;
	align-items: center;
	font-size: 1rem;
}

.s .footer-info {
	width: 100%;
	justify-content: center;
	padding-bottom: 10px;
}

footer ._site {
	font-size: 1.2rem;
	text-align: right;
}

.s footer ._site {
	display: flex;
	padding: 0;
}

footer ._site li {
	text-decoration: none;
	margin: 0 10px 10px;
}

footer ._site li:nth-last-of-type(1) {
	margin-bottom: 0;
}

footer ._site li a {
	position: relative;
	padding: 2px 20px 2px 0;
	display: inline-block;
}

@media screen and (min-width:768px) and (max-width:1000px) {
	footer ._site li a {
		padding: 2px 20px 2px 10px;
	}
}

.s footer ._site li a {
	padding: 1px 20px 1px 0;
}

.sns-box {
	display: flex;
	align-items: center;
	padding: 0 15px;
}

.s .sns-box {
	display: none;
}

.sns-box .sns {
	padding-right: 15px;
}

footer ._site li a {
	color: #fff;
}

footer ._site li a:after {
	content: "";
	width: 6px;
	height: 6px;
	border: 0;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 5px;
}

footer ._site li a:hover {
	text-decoration: underline;
	opacity: 1;
	cursor: pointer;
}

ul {
	list-style: none;
}

footer .tobi-logo {
	width: 207px;
	margin-right: 10px;
}

@media screen and (min-width:768px) and (max-width:1000px) {
	footer .tobi-logo {
		width: 150px;
		margin-right: 5px;
	}
}

.s footer .tobi-logo {
	max-width: 140px;
	width: 100%;
}

footer .copyright {
	font-size: 1.2rem;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	font-family: Helvetica, Arial, sans-serif;
	font-weight: 300;
	font-style: normal;
	letter-spacing: 0.05em;
}

@media screen and (min-width:768px) and (max-width:1000px) {
	footer .copyright {
		font-size: 1.0rem;
	}
}

.s footer .copyright {
	width: 100%;
	text-align: center;
	position: relative;
	font-size: 1.0rem;
	bottom: auto;
	right: auto;
}

.s .footer-sns {
	display: none;
}

.footer-sns li {
	display: inline-block;
	padding: 0 5px;
}

.footer-sns li a {
	display: block;
	width: 36px;
	border-radius: 50%;
	opacity: 1;
	transition: .2s;
}

@media screen and (min-width:768px) and (max-width:1000px) {
	.footer-sns li a {
		width: 32px;
	}
}

.footer-sns li a:hover {
	opacity: 0.8;
	transition: .2s;
}

/* iPhone SE時改行 */
.s .s-320-block {
	display: none;
}

@media screen and (max-width:320px) {
	.s .s-320-block {
		display: block;
	}
}

/* ================================
        PAGETOP
================================ */
.ui-pagetop {
	position: fixed;
	left: min(calc(50% + 520px), calc(100% - 13.888vw));
	bottom: 40px;
	z-index: 10;
	max-width: min(172px, 11.94vw);
	transform: translateY(200%);
	transition: transform .3s;
}

.s .ui-pagetop {
	right: 10px;
	left: auto;
	max-width: 100px;
}

.ui-pagetop.show {
	transform: translateY(0);
}

.ui-pagetop a {
	cursor: pointer;
}

.ui-pagetop a:hover {
	opacity: 1;
}

.ui-pagetop a img {
	transition: 0.3s;
	opacity: 1;
}

.ui-pagetop a:hover img {
	opacity: 1;
	transition: 0.3s;
	transform: scale(0.95);
}
