@charset "UTF-8";
@font-face {
	font-family: 'FangYuan';
	src: url('fonts/AlimamaFangYuanTiVF-Thin.woff2') format('woff2');
}
@font-face{
  font-family:'DIN';
  src: url('fonts/DIN-Medium.ttf') format('truetype');
}
@font-face{
  font-family:'Poppins';
  src: url('fonts/Poppins.woff2') format('woff2');
}



.common-button-link span.text {
	display: inline;
	background-size: 0 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: right bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.common-button-link:hover {
	opacity: 1;
}

.common-button-link:hover span.arrow::before {
	animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
}

.common-button-link:hover span.text {
	background-size: 100% 1px;
	background-position: left bottom;
}

.common-action-box .button .link:hover {
	opacity: 1;
}

.common-action-box .button .link:hover::before {
	animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
}

.index-events-other .right .inner-link:hover .arrow::before {
	animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
}

.index-support-box .item a:hover .title::before {
	animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
}

.program-articles .link:hover .title::before,
.support-articles .link:hover .title::before {
	animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
}

.whatwedo-bg-box .link:hover .title::before,
.support-bg-box .link:hover .title::before {
	animation: arrowSlide 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 forwards;
}

.common-article-item a .name-jp span,
.artists-article-item a .name-jp span,
.artists-articles .item a .name-jp span {
	display: inline;
	position: relative;
	background-size: 0 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: right bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.common-article-item a:hover,
.artists-article-item a:hover,
.artists-articles .item a:hover {
	opacity: 1;
}

.common-article-item a:hover .name-jp span,
.artists-article-item a:hover .name-jp span,
.artists-articles .item a:hover .name-jp span {
	background-size: 100% 1px;
	background-position: left bottom;
}

.common-index-item a span {
	background-size: 0 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: right bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.common-index-item a:hover span {
	opacity: 1;
	background-size: 100% 1px;
	background-position: left bottom;
}

.about-service .link .title span {
	background-size: 0 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: right bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.about-service .link:hover {
	opacity: 1;
}

.about-service .link:hover .title span {
	background-size: 100% 1px;
	background-position: left bottom;
}

.header-modal-left-menu .item a span,
.header-modal-left-menu .sub-item a span {
	line-height: 1;
	position: relative;
	background-repeat: no-repeat;
	background-position: right bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.header-modal-left-menu .item a:hover,
.header-modal-left-menu .sub-item a:hover {
	opacity: 1;
}

.header-modal-left-menu .item a:hover span,
.header-modal-left-menu .sub-item a:hover span {
	background-position: left bottom;
}

.header-modal-left-menu .item a span {
	background-image: url("../img/common/line.svg");
	background-size: 0 2px;
}

.header-modal-left-menu .item a:hover span {
	background-size: 100% 2px;
}

.header-modal-left-menu .sub-item a span {
	background-image: url("../images/bg_line_gray.svg");
	background-size: 0 1px;
}

.header-modal-left-menu .sub-item a:hover span {
	background-size: 100% 1px;
}

.footer-nav .item a span,
.footer-nav .sub-item a span {
	position: relative;
	background-size: 0 1px;
	background-image: url("../images/bg_line_white.svg");
	background-repeat: no-repeat;
	background-position: right bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.footer-nav .item a:hover,
.footer-nav .sub-item a:hover {
	opacity: 1;
}

.footer-nav .item a:hover span,
.footer-nav .sub-item a:hover span {
	background-size: 100% 1px;
	background-position: left bottom;
}

.index-support-box .item a .title span {
	background-size: 100% 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

@media all and (min-width: 961px) {
	.index-support-box .item a .title span {
		line-height: 1.1;
		padding-top: 11px;
	}
}

@media all and (max-width: 960px) {
	.index-support-box .item a .title span {
		line-height: 1.1;
		padding-top: 8px;
	}
}

.index-support-box .item a:hover {
	opacity: 1;
}

.index-support-box .item a:hover .title span {
	background-size: 0 1px;
	background-position: right bottom;
}

.subscription-wrapper .bottom .check-button .anime-line {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../images/bg_line_gray.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.subscription-wrapper .bottom .check-button:hover {
	opacity: 1;
}

.subscription-wrapper .bottom .check-button:hover .anime-line {
	background-size: 0 1px;
	background-position: right bottom;
}

.footer-tag-archive-button a span {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.footer-tag-archive-button a:hover {
	opacity: 1;
}

.footer-tag-archive-button a:hover span {
	background-size: 0 1px;
	background-position: right bottom;
}


.about-outline .content a span {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.about-outline .content a:hover {
	opacity: 1;
}

.about-outline .content a:hover span {
	background-size: 0 1px;
	background-position: right bottom;
}

.whatwedo-bg-box .text-box a .title span {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
	vertical-align: middle;
}

.whatwedo-bg-box .text-box a:hover {
	opacity: 1;
}

.whatwedo-bg-box .text-box a:hover .title span {
	background-size: 0 1px;
	background-position: right bottom;
}

.single-content a {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../images/bg_line_green.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.single-content a:hover {
	opacity: 1;
	background-size: 0 1px;
	background-position: right bottom;
}

.single-content .link,
.single-content .tel-link {
	background-image: unset;
}

.single-content .sns-link {
	background-image: unset;
	line-height: 1.6;
}

.single-content .sns-link:hover span {
	opacity: 1;
	background-size: 0 1px;
	background-position: right bottom;
}

.single-content .sns-link span {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../images/bg_line_green.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.single-content .sns-link span::before {
	display: none !important;
}

.magazine-information-link {
	background-image: unset !important;
	transition: all 0.3s ease-in-out !important;
}

.magazine-information-link:hover {
	background-color: #02A29B;
	color: #ffffff !important;
}

.single-content ol.easy-footnotes-wrapper a:not(.easy-footnote-to-top) {
	background-size: calc(100% - 26px) 1px;
}

.single-content ol.easy-footnotes-wrapper a:not(.easy-footnote-to-top):hover {
	background-size: 0 1px;
	background-position: right 26px bottom;
}

.qtip-bootstrap a {
	color: #02A29B !important;
	background-size: calc(100% - 26px) 1px;
	background-image: url("../images/bg_line_green.svg") !important;
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
	padding-right: 26px;
	position: relative;
}

.qtip-bootstrap a::after {
	background-image: url("../images/magazine/outer_tab.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	width: 18px;
	height: 10px;
	position: absolute;
	margin-left: 5px;
	bottom: 2px;
}

.qtip-bootstrap a:hover {
	opacity: 1;
	background-size: 0 1px;
	background-position: right 26px bottom;
}

#single-business .single-content ul li a,
#single-support .single-content ul li a {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../images/bg_line_green.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

#single-business .single-content ul li a:hover,
#single-support .single-content ul li a:hover {
	opacity: 1;
	background-size: 0 1px;
	background-position: right bottom;
}

.program-articles .item .link .title span,
.support-articles .item .link .title span {
	line-height: 1.1;
	background-size: 100% 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.program-articles .item .link:hover .title span,
.support-articles .item .link:hover .title span {
	background-size: 0 1px;
	background-position: right bottom;
}

.contact-button.back {
	line-height: 1.1;
	background-size: 100% 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.contact-button.back:hover {
	background-size: 0 1px;
	background-position: right bottom;
}

.privacy-link {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../images/bg_line_green.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.privacy-link:hover {
	background-size: 0 1px;
	background-position: right bottom;
}

a img {
	transition: .3s all ease-in-out;
}

a:hover img {
	transform: scale(1.15)!important;
}

.index-news-term a:hover,
.common-filter-item a:hover {
	background-color: #02A29B !important;
	color: #fff;
	opacity: 1;
}

.footer-tags-item a:hover,
.tag-item a:hover {
	opacity: 1;
	background-color: #02A29B;
	border: solid 1px #02A29B !important;
	color: #fff;
}

.common-page-index-term-item a:hover {
	opacity: 1;
	background-color: #02A29B;
	border: solid 1px #02A29B !important;
	color: #fff;
}

.cancel-button {
	color: #999999;
}

.cancel-button .anime-line {
	line-height: 1;
	background-size: 100% 1px;
	background-image: url("../images/bg_line_gray.svg");
	background-repeat: no-repeat;
	background-position: left bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.cancel-button:hover {
	opacity: 1;
}

.cancel-button:hover .anime-line {
	background-size: 0 1px;
	background-position: right bottom;
}

@keyframes arrowSlide {
	0% {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}

	50.0% {
		transform: translate3d(60%, 0, 0);
		opacity: 0;
	}

	50.1% {
		transform: translate3d(-60%, 0, 0);
		opacity: 0;
	}

	100% {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.header-nav .list.n1 {
	transform: translateY(50px);
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
	transition-delay: 0s;
}

.header-nav .list.n2 {
	transform: translateY(50px);
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
	transition-delay: 0s;
}

.header-nav .list.n3 {
	transform: translateY(50px);
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
	transition-delay: 0s;
}


.header-nav .header-modal-right {
	transform: translateY(50px);
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
	transition-delay: 0s;
}

.header-nav .header-modal-bottom {
	transform: translateY(50px);
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
	transition-delay: 0s;
}

.header-nav.active .list.n1 {
	transform: translateY(0);
	opacity: 1;
	transition: opacity 0.6s, transform 0.6s;
	transition-delay: .3s;
}

.header-nav.active .list.n2 {
	transform: translateY(0);
	opacity: 1;
	transition: opacity 0.6s, transform 0.6s;
	transition-delay: .4s;
}

.header-nav.active .list.n3 {
	transform: translateY(0);
	opacity: 1;
	transition: opacity 0.6s, transform 0.6s;
	transition-delay: .5s;
}

.header-nav.active .header-modal-right {
	transform: translateY(0);
	opacity: 1;
	transition: opacity 0.6s, transform 0.6s;
	transition-delay: .6s;
}

.header-nav.active .header-modal-bottom {
	transform: translateY(0);
	opacity: 1;
	transition: opacity 0.6s, transform 0.6s;
	transition-delay: .7s;
}

.text-animation {
	opacity: 0;
}

.text-animation.show {
	opacity: 1;
}

.text-animation.show .text-animation-span {
	display: inline-block;
	overflow: hidden;
}

.text-animation.show span {
	display: inline-block;
	animation: showText .5s backwards;
}

.text-animation.show .text-animation-span {
	vertical-align: bottom;
}

.text-animation.delay.show {
	opacity: 1;
}

.text-animation.delay.show .text-animation-span {
	display: inline-block;
	overflow: hidden;
}

.text-animation.delay.show span {
	display: inline-block;
	animation: showText .5s backwards;
}

@keyframes showText {
	0% {
		opacity: 0;
		transform: translateY(100%);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: inherit;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

/*=== add reset ===*/
*,
*::before,
*::after {
	box-sizing: border-box;
}

li {
	list-style: none;
}

button {
	background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
}

address {
	font-style: normal;
}

:root,
body {
	font-family: Inter, -apple-system, BlinkMacSystemFont, PingFang SC, Hiragino Sans GB, noto sans, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif;
	font-weight: 500;
	background-color: #FFF;
	color: #333333;
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: grayscale;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt" 1;
	font-size: 14px;
	letter-spacing: 0.04em;
	line-height: 1.8;
	height: 100%;
}

@media all and (max-width: 768px) {

	:root,
	body {
		line-height: 1.8;
	}
}

img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

a {
	color: #333;
	font-weight: inherit;
}

@media all and (min-width: 769px) {
	a {
		transition: all 0.3s ease-in-out;
	}

	a:hover {
		opacity: 0.7;
	}
}

.sp {
	display: none;
}

@media all and (max-width: 960px) {
	.sp {
		display: inherit;
	}
}

@media all and (max-width: 960px) {
	.pc {
		display: none;
	}
}

body.active {
	height: 100%;
	overflow: hidden;
}

.crumbs-box {
	font-size: 12px;
	color: #999;
}

@media all and (min-width: 1280px) {
	.crumbs-box {
		position: absolute;
		bottom: 40px;
		right: 160px;
	}
}

@media all and (min-width: 961px) and (max-width: 1279px) {
	.crumbs-box {
		position: absolute;
		bottom: 40px;
		right: 80px;
	}
}

.crumbs-box a {
	color: #C6C6C6;
}
.crumbs-box a:last-child {
	color: #333333;
}

.crumbs-box span {
	color: #333333;
}

@media all and (max-width: 960px) {
	.crumbs-box {
		display: none;
	}
}

.common-sub-heading {
	border: solid 2px #333333;
	border-radius: 2px 14px 14px 14px;
	display: inline-block;
	font-weight: 500;
}

@media all and (min-width: 961px) {
	.common-sub-heading {
		font-size: 14px;
		line-height: 26px;
		margin-bottom: 8px;
		padding: 0 14px;
	}
}

@media all and (max-width: 960px) {
	.common-sub-heading {
		font-size: 10px;
		line-height: 20px;
		margin-bottom: 4px;
		padding: 0 10px;
	}
}

@media all and (min-width: 961px) {
	.fxhs {
		margin-top: 40px;
		margin-bottom: 20px;
	}
}

@media all and (max-width: 960px) {
	.fxhs {
		margin-top: 30px;
	}
}

.fxhs .fxhs-link {
	border: solid 1px #E6E6E6;
	border-radius: 40px;
	color: #02A29B;
	display: block;
	line-height: 60px;
	text-align: center;
	cursor: pointer;
}

@media all and (min-width: 961px) {
	.fxhs .fxhs-link {
		padding-right: 21px;
	}
}


.fxhs .fxhs-link::after {
	background: url("../img/footer/copy.svg") center center no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 2px;
	margin-left: 6px;
	height: 14px;
	width: 14px;
}

.common-button .common-button-link {
	display: flex;
}

@media all and (min-width: 961px) {
	.common-button .common-button-link {
		justify-content: center;
	}
}

@media all and (max-width: 960px) {
	.common-button .common-button-link {
		justify-content: center;
	}
}

.common-button .common-button-link span.arrow {
	display: inline-block;
	font-weight: 600;
	position: relative;
}

@media all and (min-width: 961px) {
	.common-button .common-button-link span.arrow {
		padding-left: 70px;
	}
}

@media all and (max-width: 960px) {
	.common-button .common-button-link span.arrow {
		padding-left: 50px;
	}
}

.common-button .common-button-link span.arrow::after {
	background-color: #F8C298;
	border-radius: 60px;
	content: "";
	display: block;
	position: absolute;
	left: 0;
}

@media all and (min-width: 961px) {
	.common-button .common-button-link span.arrow::after {
		height: 60px;
		width: 60px;
		top: -18px;
	}
}

@media all and (max-width: 960px) {
	.common-button .common-button-link span.arrow::after {
		height: 40px;
		width: 40px;
		top: -7px;
	}
}

.common-button .common-button-link span.arrow::before {
	background-image: url("../img/common/arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 10px;
	width: 16px;
	position: absolute;
	z-index: 1;
}

@media all and (min-width: 961px) {
	.common-button .common-button-link span.arrow::before {
		left: 23px;
		top: 7px;
	}
}

@media all and (max-width: 960px) {
	.common-button .common-button-link span.arrow::before {
		left: 13px;
		top: 8px;
	}
}

.common-button .common-button-link span.text {
	font-weight: 400;
	font-size: 14px;
	padding: 0;
	overflow: hidden;
	position: relative;
}

@media all and (max-width: 960px) {
	#index .common-button .common-button-link {
		justify-content: flex-end;
	}
}

@keyframes arrowSlide {
	0% {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}

	50.0% {
		transform: translate3d(60%, 0, 0);
		opacity: 0;
	}

	50.1% {
		transform: translate3d(-60%, 0, 0);
		opacity: 0;
	}

	100% {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.common-action-box {
	background-color: #F5F5F5;
}

@media all and (min-width: 961px) {
	.common-action-box {
		border-radius: 80px;
		padding: 80px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box {
		border-radius: 20px;
		padding: 40px 20px;
	}
}

.common-action-box .head {
	font-weight: 600;
	position: relative;
}

@media all and (min-width: 961px) {
	.common-action-box .head {
		font-size: 24px;
		margin-bottom: 30px;
		padding-left: 16px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box .head {
		font-size: 18px;
		margin-bottom: 25px;
		padding-left: 16px;
	}
}

.common-action-box .head::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
	top: 19px;
}

@media all and (max-width: 960px) {
	.common-action-box .head::before {
		top: 14px;
	}
}

@media all and (min-width: 961px) {
	.common-action-box .text {
		margin-bottom: 40px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box .text {
		margin-bottom: 20px;
	}
}

@media all and (min-width: 961px) {
	.common-action-box .button {
		margin-bottom: 25px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box .button {
		margin-bottom: 20px;
	}
}

.common-action-box .button .link {
	color: #fff !important;
	background-color: #333333;
	display: block;
	line-height: 1;
	position: relative;
}

@media all and (min-width: 961px) {
	.common-action-box .button .link {
		border-radius: 40px;
		line-height: 80px;
		padding-left: 40px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box .button .link {
		border-radius: 40px;
		line-height: 60px;
		padding-left: 30px;
	}
}

.common-action-box .button .link::after {
	background-color: #F8C298;
	border-radius: 60px;
	content: "";
	display: block;
	height: 60px;
	width: 60px;
	position: absolute;
	right: 10px;
	top: 10px;
}

@media all and (max-width: 960px) {
	.common-action-box .button .link::after {
		height: 44px;
		width: 44px;
		right: 8px;
		top: 8px;
	}
}

.common-action-box .button .link::before {
	background-image: url("../img/common/arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 8px;
	width: 12px;
	position: absolute;
	right: 33px;
	top: 35px;
	z-index: 1;
}

@media all and (max-width: 960px) {
	.common-action-box .button .link::before {
		right: 24px;
		top: 26px;
	}
}

.common-action-box .button .link .name {
	font-weight: 600;
}

@media all and (min-width: 961px) {
	.common-action-box .button .link .name {
		font-size: 16px;
	}
}

.common-action-box .sub-head {
	position: relative;
}

@media all and (min-width: 961px) {
	.common-action-box .sub-head {
		font-size: 12px;
		padding-left: 11px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box .sub-head {
		font-size: 12px;
		padding-left: 11px;
	}
}

.common-action-box .sub-head::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
	top: 8px;
}

@media all and (min-width: 961px) {
	.common-action-box .tel {
		display: flex;
		align-items: baseline;
		margin-top: 12px;
	}
}

.common-action-box .tel .tel-link {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	color: #333333 !important;
	font-weight: 700;
}

@media all and (min-width: 961px) {
	.common-action-box .tel .tel-link {
		font-size: 24px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box .tel .tel-link {
		font-size: 20px;
	}
}

@media all and (min-width: 961px) {
	.common-action-box .tel .hour {
		font-size: 12px;
		margin-left: 10px;
	}
}

@media all and (max-width: 960px) {
	.common-action-box .tel .hour {
		display: block;
		font-size: 10px;
		line-height: 1;
	}
}

.common-page-title-wrapper {
	position: relative;
	border-radius: 0 0 0 160px;
	margin-bottom: 120px;
	min-height: 560px;
	background-color: #FCF5F0;
}
.common-page-title-wrapper2 {
	margin-bottom: -130px;
}
.common-page-title-wrapper3 {
	margin-bottom: -350px;
}

@media all and (min-width: 1761px) {
	.common-page-title-wrapper {
		margin-left: calc((100% - 1440px) / 2 + 230px);
		padding-right: calc((100% - 1440px) / 2);
	}
}

@media all and (min-width: 1280px) and (max-width: 1760px) {
	.common-page-title-wrapper {
		margin-left: 18.182vw;
	}
}

@media all and (min-width: 961px) and (max-width: 1279px) {
	.common-page-title-wrapper {
		margin-left: 9.091vw;
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper {
		border-radius: 0 0 0 80px;
		min-height: 316px;
		margin-left: 40px;
		margin-bottom: 70px;
	}
	.common-page-title-wrapper2 {
		margin-bottom: 70px;
	}
	.common-page-title-wrapper3 {
		margin-bottom: 70px;
	}
}

.common-page-title-wrapper .common-page-title-jp {
	border: solid 2px #333333;
	border-radius: 2px 14px 14px 14px;
	display: inline-block;
	font-weight: 600;
	font-size: 12px;
	line-height: 25px;
	margin-bottom: 12px;
	padding: 0 14px;
}

@media all and (min-width: 961px) {
	.common-page-title-wrapper .common-page-title-jp {
		margin-top: 240px;
		margin-bottom: 20px;
	}
}

@media all and (min-width: 1761px) {
	.common-page-title-wrapper .common-page-title-jp {
		margin-left: -230px;
	}
}

@media all and (min-width: 1280px) and (max-width: 1760px) {
	.common-page-title-wrapper .common-page-title-jp {
		margin-left: -9.091vw;
	}
}

@media all and (min-width: 961px) and (max-width: 1279px) {
	.common-page-title-wrapper .common-page-title-jp {
		margin-left: -4.545vw;
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper .common-page-title-jp {
		font-size: 10px;
		margin-left: -20px;
		margin-top: 160px;
	}
}

.common-page-title-wrapper .common-page-title-en {
	font-family: 'Fangyuan';
	font-weight: 600;
	letter-spacing: 0 !important;
	font-size: 72px;
	line-height: 1.2;
}

@media all and (min-width: 961px) {
	.common-page-title-wrapper .common-page-title-en {
		margin-bottom: 20px;
	}
	.common-page-title-wrapper .text {
		font-size: 16px;
		max-width: 60%;
	}
}

@media all and (min-width: 1761px) {
	.common-page-title-wrapper .common-page-title-en,
	.common-page-title-wrapper .text{
		margin-left: -230px;
	}
}

@media all and (min-width: 1280px) and (max-width: 1760px) {
	.common-page-title-wrapper .common-page-title-en,
	.common-page-title-wrapper .text{
		margin-left: -9.091vw;
	}
}

@media all and (min-width: 961px) and (max-width: 1279px) {
	.common-page-title-wrapper .common-page-title-en,
	.common-page-title-wrapper .text{
		margin-left: -4.545vw;
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper .common-page-title-en {
		line-height: 1;
		margin-bottom: 25px;
		font-size: 40px;
		margin-left: -20px;
	}
	.common-page-title-wrapper .box .text {
		margin-left: -20px;
		margin-right: 10px;
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper .common-page-title-en.fixlong {
		padding-bottom: 50px;
	}
}

.common-page-title-wrapper .common-page-text {
	font-size: 16px;
	line-height: 2;
	max-width: 800px;
}

@media all and (min-width: 961px) {
	.common-page-title-wrapper .common-page-text {
		padding-bottom: 99px;
	}
}

@media all and (min-width: 1761px) {
	.common-page-title-wrapper .common-page-text {
		margin-left: -230px;
	}
}

@media all and (min-width: 1280px) and (max-width: 1760px) {
	.common-page-title-wrapper .common-page-text {
		margin-left: -9.091vw;
	}
}

@media all and (min-width: 961px) and (max-width: 1279px) {
	.common-page-title-wrapper .common-page-text {
		margin-left: -4.545vw;
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper .common-page-text {
		font-size: 12px;
		line-height: 1.8;
		margin-left: -20px;
		padding-bottom: 50px;
		width: calc(100% - 20px);
	}
}

.common-page-title-wrapper .common-page-title-en-2 {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	font-weight: 700;
	position: relative;
}

@media all and (min-width: 961px) {
	.common-page-title-wrapper .common-page-title-en-2 {
		padding-top: 300px;
		margin-bottom: 20px;
		padding-left: 12px;
	}
}

@media all and (min-width: 1761px) {
	.common-page-title-wrapper .common-page-title-en-2 {
		margin-left: -160px;
	}
}

@media all and (min-width: 1280px) and (max-width: 1760px) {
	.common-page-title-wrapper .common-page-title-en-2 {
		margin-left: -9.091vw;
	}
}

@media all and (min-width: 961px) and (max-width: 1279px) {
	.common-page-title-wrapper .common-page-title-en-2 {
		margin-left: -4.545vw;
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper .common-page-title-en-2 {
		padding-top: 180px;
		margin-bottom: 13px;
		margin-left: -20px;
		padding-left: 10px;
		font-size: 10px;
	}
}

.common-page-title-wrapper .common-page-title-en-2::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
}

@media all and (min-width: 961px) {
	.common-page-title-wrapper .common-page-title-en-2::before {
		top: calc(300px + 9px);
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper .common-page-title-en-2::before {
		top: calc(180px + 5.5px);
	}
}

.common-page-title-wrapper .common-page-title-jp-2 {
	font-weight: 600;
	line-height: 1;
}

@media all and (min-width: 961px) {
	.common-page-title-wrapper .common-page-title-jp-2 {
		font-size: 48px;
	}
}

@media all and (min-width: 1761px) {
	.common-page-title-wrapper .common-page-title-jp-2 {
		margin-left: -160px;
	}
}

@media all and (min-width: 1280px) and (max-width: 1760px) {
	.common-page-title-wrapper .common-page-title-jp-2 {
		margin-left: -9.091vw;
	}
}

@media all and (min-width: 961px) and (max-width: 1279px) {
	.common-page-title-wrapper .common-page-title-jp-2 {
		margin-left: -4.545vw;
	}
}

@media all and (max-width: 960px) {
	.common-page-title-wrapper .common-page-title-jp-2 {
		font-size: 32px;
		margin-left: -20px;
	}
}


.common-aboutus {
	background-color: #FCFAE8;
}

@media all and (min-width: 961px) {
	.common-aboutus {
		border-radius: 0 160px 0 160px;
		padding: 154px 180px 120px 180px;
	}
}

@media all and (max-width: 1440px) {
	.common-aboutus {
		border-radius: 0 80px 0 80px;
		padding: 154px 80px 120px 80px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus {
		border-radius: 0 40px 0 40px;
		padding: 80px 20px 40px;
	}
}

.common-aboutus .title {
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

@media all and (min-width: 961px) {
	.common-aboutus .title {
		display: flex;
		align-items: baseline;
		max-width: 1440px;
		margin-bottom: 40px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .title {
		margin-bottom: 30px;
	}
}

.common-aboutus .title::before {
	background-color: #02A29B;
	content: "";
	display: block;
	height: 4px;
	width: 20px;
	position: absolute;
	top: -30px;
	left: 0;
}

.common-aboutus .title .en {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	font-weight: 700;
	line-height: 1;
}

@media all and (min-width: 961px) {
	.common-aboutus .title .en {
		font-size: 40px;
		margin-right: 10px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .title .en {
		font-size: 24px;
		margin-bottom: 3px;
	}
}

.common-aboutus .title .jp {
	font-weight: 600;
	line-height: 1;
}

@media all and (min-width: 961px) {
	.common-aboutus .title .jp {
		font-size: 12px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .title .jp {
		font-size: 10px;
		white-space: nowrap;
	}
}

.common-aboutus .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media all and (min-width: 961px) {
	.common-aboutus .list {
		margin-left: auto;
		margin-right: auto;
		max-width: 1440px;
	}
}

@media all and (min-width: 961px) {
	.common-aboutus .list.n1 {
		border-bottom: solid 1px #E6E6E6;
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .list.n2 {
		display: none;
	}
}

.common-aboutus .list.n2::after {
	content: "";
}

@media all and (min-width: 961px) {
	.common-aboutus .list.n2::after {
		width: calc(((100% - 240px) / 5) * 2 + 60px);
	}
}

@media all and (min-width: 961px) {
	.common-aboutus .list .item {
		width: calc((100% - 240px) / 5);
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .list .item {
		margin-bottom: 30px;
		width: calc((100% - 19px) / 2);
	}
}

.common-aboutus .list .item a {
	display: block;
}

.common-aboutus .list .item a:hover .pict img {
	width: 110%;
	height: 110%;
}

.common-aboutus .list .item a .pict {
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 66%;
}

@media all and (min-width: 961px) {
	.common-aboutus .list .item a .pict {
		margin-bottom: 20px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .list .item a .pict {
		margin-bottom: 16px;
	}
}

.common-aboutus .list .item a .pict img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.3s ease-in-out;
}

.common-aboutus .list .item a .name .en {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	font-weight: 700;
	line-height: 1;
	position: relative;
}

@media all and (min-width: 961px) {
	.common-aboutus .list .item a .name .en {
		font-size: 24px;
		margin-bottom: 5px;
		padding-left: 15px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .list .item a .name .en {
		font-size: 16px;
		margin-bottom: 3px;
		padding-left: 15px;
	}
}

.common-aboutus .list .item a .name .en::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
	top: 8px;
}

@media all and (max-width: 768px) {
	.common-aboutus .list .item a .name .en::before {
		top: 5px;
	}
}

.common-aboutus .list .item a .name .jp {
	font-weight: 600;
	line-height: 1;
}

@media all and (min-width: 961px) {
	.common-aboutus .list .item a .name .jp {
		font-size: 12px;
		padding-left: 15px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .list .item a .name .jp {
		font-size: 10px;
		padding-left: 15px;
	}
}

@media all and (max-width: 768px) {
	.common-aboutus .list .item .inner-list {
		width: 100%;
		display: flex;
		flex-direction: column;
	}
}

@media all and (min-width: 961px) {
	#program .common-filter {
		margin-bottom: 40px;
	}
}

@media all and (min-width: 961px) {
	#events .common-filter {
		margin-left: 20px;
	}
}

@media all and (min-width: 961px) {
	.common-filter {
		display: flex;
		align-items: baseline;
		padding-bottom: 80px;
	}
}

@media all and (max-width: 960px) {
	.common-filter {
		display: flex;
		justify-content: space-between;
		margin-bottom: 45px;
	}
}

.common-filter.column {
	flex-direction: column;
}

.common-filter-head {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	font-weight: 700;
	padding-left: 13px;
	position: relative;
}

@media all and (min-width: 961px) {
	.common-filter-head {
		font-size: 20px;
		margin-right: 76px;
	}
}

@media all and (max-width: 960px) {
	.common-filter-head {
		font-size: 18px;
	}
}

.common-filter-head::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
	top: 14px;
}

@media all and (max-width: 960px) {
	.common-filter-head::before {
		top: 13px;
	}
}

@media all and (min-width: 961px) {
	.common-filter-list {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 30px;
		margin-top: 40px;
	}
}

@media all and (max-width: 960px) {
	.common-filter-list {
		background-color: #fff;
		width: 177px;
		position: absolute;
		left: 0;
		top: 42px;
		z-index: 1;
	}
}

.common-filter-list.column {
	flex-direction: column;
}

.common-filter-list.column .common-filter-item {
	margin-left: unset;
}

.common-filter-list.column .common-filter-item:not(:last-child) {
	margin-bottom: 8px;
}

@media all and (min-width: 961px) {
	.common-filter-item {
		margin-left: 4px;
		margin-right: 4px;
		margin-bottom: 8px;
	}
}

.common-filter-link {
	display: block;
	font-weight: 600;
	text-align: center;
}

@media all and (min-width: 961px) {
	.common-filter-link {
		background-color: #F5F5F5;
		border-radius: 20px;
		line-height: 38px;
		padding-left: 16px;
		padding-right: 16px;
	}
}

.common-filter-link.current {
	background-color: #02A29B;
	color: #fff !important;
}

@media all and (min-width: 961px) {

	.common-filter__checkbox,
	.common-filter__icon {
		display: none;
	}
}

@media all and (max-width: 960px) {
	.common-filter-button {
		border: solid 1px #02A29B;
		color: #02A29B;
		display: block;
		font-weight: 700;
		border-radius: 30px;
		font-size: 12px;
		min-width: 185px;
		line-height: 32px;
		padding-left: 20px;
	}

	.common-filter-button * {
		font-weight: 700;
		color: #02A29B;
	}

	.common-filter-button .common-filter-item:not(:last-child) {
		border-bottom: solid 1px #02A29B;
	}

	.common-filter-button .common-filter-item a {
		color: #02A29B;
		display: block;
		width: 100%;
		height: 100%;
	}

	/* チェックボックスを非表示 */
	.common-filter__checkbox {
		display: none;
	}

	/* 中身を非表示 */
	.common-filter-list {
		height: 0;
		margin-top: 0;
		opacity: 0;
		overflow-y: hidden;
	}

	/* クリックで中身を表示 */
	.common-filter__checkbox:checked+label+.common-filter-list {
		height: auto;
		opacity: 1;
		position: absolute;
		border: solid 1px #02A29B;
		border-radius: 10px;
	}

	.common-filter-button {
		position: relative;
	}

	/* ＋ ボタン */
	.common-filter__icon {
		background-color: #02A29B;
		border-radius: 19px;
		cursor: pointer;
		display: inline-block;
		vertical-align: bottom;
		position: absolute;
		right: 7px;
		top: 6px;
		width: 22px;
		height: 22px;
	}

	.common-filter__icon::after {
		background-image: url("../images/artists/white_arrow.svg");
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		display: block;
		opacity: 1;
		position: absolute;
		width: 6px;
		height: 9px;
		top: 6.5px;
		left: 8px;
	}
}

.m-pagination {
	position: relative;
}

@media all and (min-width: 769px) {
	.m-pagination {
		height: 60px;
		margin-top: 40px;
	}
}

@media all and (max-width: 768px) {
	.m-pagination {
		height: 40px;
		margin-top: 20px;
	}
}

.m-pagination * {
	font-family: 'DIN';
	font-weight: 400;
	letter-spacing: 0 !important;
}

@media all and (min-width: 769px) {
	.m-pagination * {
		font-size: 14px;
	}
}

@media all and (max-width: 768px) {
	.m-pagination * {
		font-size: 10px;
	}
}

.m-pagination,
.m-pagination__body {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	text-align: center;
}

.m-pagination__body li a {
	color: #999;
	display: block;
}

@media all and (min-width: 769px) {
	.m-pagination__body li a {
		margin-left: 12px;
		margin-right: 12px;
	}
}

@media all and (max-width: 768px) {
	.m-pagination__body li a {
		margin-left: 10px;
		margin-right: 10px;
	}
}

.m-pagination__body li a:hover {
	opacity: 1;
	color: #02A29B;
}

.m-pagination__body li.current {
	color: #02A29B;
	margin-left: 12px;
	margin-right: 12px;
}

.m-pagination__prev,
.m-pagination__next {
	position: absolute;
}

.m-pagination__prev a,
.m-pagination__next a {
	border: solid 2px rgba(51, 51, 51, 0.1);
	display: block;
	position: relative;
}

@media all and (min-width: 769px) {

	.m-pagination__prev a,
	.m-pagination__next a {
		border-radius: 30px;
		width: 60px;
		height: 60px;
	}
}

@media all and (max-width: 768px) {

	.m-pagination__prev a,
	.m-pagination__next a {
		border-radius: 20px;
		height: 40px;
		width: 40px;
	}
}

.m-pagination__prev a::after,
.m-pagination__next a::after {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media all and (min-width: 769px) {

	.m-pagination__prev a::after,
	.m-pagination__next a::after {
		width: 12px;
		height: 8px;
	}
}

@media all and (max-width: 768px) {

	.m-pagination__prev a::after,
	.m-pagination__next a::after {
		width: 10px;
		height: 6.67px;
	}
}

.m-pagination__prev {
	left: 0;
}

.m-pagination__prev a {
	margin-right: 5px;
}

.m-pagination__prev a::after {
	background-image: url("../img/common/arrow3.svg");
}

.m-pagination__next {
	right: 0;
}

.m-pagination__next a {
	margin-left: 5px;
}

.m-pagination__next a::after {
	background-image: url("../img/common/arrow.svg");
}

.swiper-scrollbar-wrapper {
	cursor: grab;
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
}

@media all and (min-width: 769px) {
	.swiper-scrollbar-wrapper {
		height: 30px;
		margin-top: 40px;
	}
}

@media all and (max-width: 960px) {
	.swiper-scrollbar-wrapper {
		height: 24px;
		margin-top: 30px;
	}
}

.swiper-scrollbar-wrapper::before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #E6E6E6;
}

.swiper-scrollbar-wrapper .swiper-scrollbar {
	background-color: transparent;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.swiper-scrollbar-wrapper .swiper-scrollbar .swiper-scrollbar-drag {
	background-color: #333333;
	border-radius: 9999px;
	position: relative;
}

@media all and (min-width: 769px) {
	.swiper-scrollbar-wrapper .swiper-scrollbar .swiper-scrollbar-drag {
		width: 80px;
		height: 30px;
	}
}

@media all and (max-width: 768px) {
	.swiper-scrollbar-wrapper .swiper-scrollbar .swiper-scrollbar-drag {
		width: 58px !important;
		height: 24px;
	}
}

.swiper-scrollbar-wrapper .swiper-scrollbar .swiper-scrollbar-drag::after {
	background-image: url("../img/common/arrow2.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 34px;
	height: 8px;
}

.header .comingsoon,
.header-modal .comingsoon {
	opacity: 0.2;
	pointer-events: none;
}

.header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

@media all and (min-width: 961px) {
	.header {
		height: 180px;
	}
}

@media all and (max-width: 960px) {
	.header {
		height: 100px;
		padding-top: 10px;
	}
}

.header.isActive {
	background-color: #fff;
}

.header-contents {
	position: relative;
}

@media all and (min-width: 961px) {
	.header-contents {
		padding: 40px calc(80px + 40px) 40px 40px;
	}
}

@media all and (min-width: 961px) {
	.header .logo {
		width: 138px;
		height: 50px;
	}
}

@media all and (max-width: 1280px) {
	.header .logo {
		width: 138px;
		height: 50px;
	}
}

@media all and (max-width: 960px) {
	.header .logo {
		width: 110px;
		height: 40px;
		margin-left: 20px;
		margin-top: 16px;
	}
}

.header-nav-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-nav-wrapper .calender {
	font-family: 'DIN';
	font-weight: 700;
	letter-spacing: 0 !important;
}

@media all and (min-width: 961px) {
	.header-nav-wrapper .calender {
		display: flex;
		align-items: center;
		margin-right: 36px;
	}
}

@media all and (max-width: 1280px) {
	.header-nav-wrapper .calender {
		margin-right: 24px;
		justify-content: flex-end;
	}
}

@media all and (max-width: 960px) {
	.header-nav-wrapper .calender {
		margin-top: 10px;
		margin-right: 20px;
		text-align: center;
	}
}

.header-nav-wrapper .calender .date {
	color: #333333;
}

@media all and (min-width: 961px) {
	.header-nav-wrapper .calender .date {
		font-size: 32px;
	}
}

@media all and (max-width: 1280px) {
	.header-nav-wrapper .calender .date {
		font-size: 28px;
	}
}

@media all and (max-width: 960px) {
	.header-nav-wrapper .calender .date {
		font-size: 20px;
		line-height: 26px;
	}
}

.header-nav-wrapper .calender .detail {
	color: #C6C6C6;
	font-weight: 500;
	line-height: 1.2;
}

@media all and (min-width: 961px) {
	.header-nav-wrapper .calender .detail {
		font-size: 12px;
		margin-left: 8px;
	}
}

@media all and (max-width: 1280px) {
	.header-nav-wrapper .calender .detail {
		font-size: 9px;
	}
}

@media all and (max-width: 960px) {
	.header-nav-wrapper .calender .detail {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 9px;
	}
}

@media all and (max-width: 960px) {
	.header-nav-wrapper .calender .detail .year {
		margin-left: 5px;
	}
}

.header-nav-wrapper .calender .detail .week {
	text-transform: uppercase;
}

.header-nav-wrapper span {
	font-weight: 400;
}


.header-nav-inner {
	display: flex;
	align-items: center;
}

@media all and (max-width: 1280px) {
	.header-nav-inner {
		display: block;
	}
}

@media all and (max-width: 960px) {
	.header-nav-inner {
		display: flex;
		margin-right: 20px;
	}
}

@media all and (min-width: 961px) {
	.header-nav {
		display: flex;
		justify-content: space-between;
		height: 100px;
	}

	.header-nav-list {
		align-items: center;
		display: flex;
		font-size: 15px;
		height: 100%;
	}

	.header-nav-list .item:nth-child(1) {
		margin-right: 60px;
	}

	.header-nav-list .item:not(:first-child) {
		margin-right: 30px;
	}

	.header-nav-list .item a {
		display: block;
		position: relative;
		line-height: 32px;
	}
}

@media all and (min-width: 961px) and (max-width: 1280px) {
	.header-nav-list .item a {
		font-size: 14px;
	}
}

@media all and (min-width: 961px) {
	.header-nav-list .item a:hover {
		opacity: 1;
		color: #02A29B;
	}

	.header-nav-list .item a.current {
		color: #02A29B;
	}

	.header-nav-list .item a.current::after {
		background-color: #02A29B;
		border-radius: 50%;
		content: "";
		display: block;
		width: 6px;
		height: 6px;
		position: absolute;
		bottom: -6px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

}

@media all and (max-width: 960px) {
	.header-nav-list .item:not(:first-child) {
		display: none;
	}
}
.header-nav-list .item {
	position: relative;
}
.header-nav-list .item .m {
	display: none;
	position: absolute;
	left: 0;
	top: 32px;
	white-space: nowrap;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 10px 16px;
	z-index: 999;
}
.header-nav-list .item:hover .m{
	display: block;
}

.header-search {
	cursor: pointer;
	display: none;
	margin-top: 10px;
	width: 32px;
	height: 32px;
	border-radius: 100%;
	background: url(../img/common/search.svg) center center no-repeat #02A29B;
	background-size: 12px auto;
}
.header-search-box {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 70px;
	z-index: 100;
	background-color: rgba(255, 255, 255, 0.95);
	padding: 20px;
}
.header-search-box .search-box {
	position: relative;
}

.header-search-box .search-box .search-input {
	border-radius: 40px;
	padding: 15px 120px 15px 30px;
	background-color: #F5F5F5;
	border: solid 1px #E6E6E6;
	position: relative;
}

.header-search-box .search-box .search-input input{
	color: #333333;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	resize: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-weight: 500;
	font-size: 14px;
	font-weight: 500;
	width: 100%;
	height: 100%;
}

.header-search-box .search-box .search-button {
	border-radius: 32px;
	width: 80px;
	line-height: 44px;
	top: 6px;
	right: 8px;
	background-color: #02A29B;
	color: #ffffff;
	cursor: pointer;
	font-weight: 600;
	text-align: center;
	position: absolute;
}

@media all and (max-width: 960px) {
	.header-search {
		display: block;
	}
}


/**
  Hamburger MENU
**/
.hamb__icon {
	cursor: pointer;
	display: block;
	position: fixed;
	top: 25px;
	right: 40px;
	z-index: 100;
}

@media all and (max-width: 960px) {
	.hamb__icon {
		top: unset;
		bottom: 20px;
		right: 20px;
	}
}

.hamb__icon-parts {
	background-color: #fff;
	border: solid 1px #E6E6E6;
	border-radius: 80px;
	height: 80px;
	width: 80px;
	display: block;
	position: relative;
	display: grid;
	place-items: center;
}

.hamb__icon-parts:before {
	font-weight: 400;
	letter-spacing: 0 !important;
	font-size: 14px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}

.hamb__icon-parts:before {
	content: "目录";
}

.hamb__icon-parts:after {
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	background-color: white;
	-webkit-clip-path: circle();
	clip-path: circle();
}

.hamb__menu {
	pointer-events: none;
	background: rgba(0, 0, 0, 0.2);
	font-size: 17px;
	max-width: 100%;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}

.hamb__icon {
	z-index: 1000;
}

.hamb__menu {
	z-index: 10;
}

.hamb__icon.active .hamb__icon-parts:before {
	content: "×";
	font-size: 24px;
}

.hamb__menu.active {
	pointer-events: unset;
	opacity: 1;
	z-index: 100;
}

.hamb__icon-parts:after,
.hamb__icon-parts:before,
.hamb__menu {
	transition: opacity 1s;
}

@media all and (min-width: 961px) {

	.sub__checkbox,
	.sub__icon {
		display: none;
	}
}

@media all and (max-width: 960px) {

	/* チェックボックスを非表示 */
	.sub__checkbox {
		display: none;
	}

	/* 中身を非表示 */
	.header-nested {
		height: 0;
		margin-top: 0;
		opacity: 0;
		overflow-y: hidden;
	}

	/* クリックで中身を表示 */
	.sub__checkbox:checked+label+.header-nested {
		height: auto;
		opacity: 1;
		padding-top: 15px;
	}

	.parent {
		position: relative;
	}

	.sub__icon {
		background-color: #333333;
		border-radius: 19px;
		cursor: pointer;
		display: none;
		vertical-align: bottom;
		position: absolute;
		right: 40px;
		top: 10px;
		width: 19px;
		height: 19px;
	}

	.sub__icon-parts:before,
	.sub__icon-parts:after {
		background-color: #fff;
		content: "";
		display: block;
		width: 10px;
		height: 2px;
		position: absolute;
		top: 8px;
		left: 4.5px;
	}

	.sub__icon-parts:after {
		transform: rotate(90deg);
	}
}

.header-nav {
	display: flex;
	justify-content: flex-end;
}

.header-modal {
	position: relative;
	right: 0;
	top: 0;
	height: 100%;
	overflow: hidden;
}

@media all and (min-width: 961px) {
	.header-modal {
		width: 81%;
	}
}

@media all and (max-width: 960px) {
	.header-modal {
		padding: 80px 22px;
		width: 89%;
	}
}

.header-modal::before {
	background-color: #fff;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	transform: scale(0);
	opacity: 0;
	transition: opacity 0.7s 0.5s, transform 0.5s cubic-bezier(0.87, 0, 0.13, 1) 0.1s;
}

@media all and (min-width: 961px) {
	.header-modal::before {
		border-radius: 160px 0 0 160px;
		top: 0;
		right: 0;
		transform-origin: right top;
	}
}

@media all and (max-width: 960px) {
	.header-modal::before {
		border-radius: 80px 0 0 80px;
		bottom: 0;
		right: 0;
		transform-origin: right bottom;
	}
}

.header-modal-inner {
	overflow-y: scroll;
	height: 100%;
}

@media all and (min-width: 961px) {
	.header-modal-inner {
		padding: 180px 160px;
	}
}

@media all and (max-width: 1440px) {
	.header-modal-inner {
		padding: 90px 80px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-inner {
		padding: 0;
	}
}

.header-modal-inner::-webkit-scrollbar {
	display: none;
}

@media all and (min-width: 961px) {
	.header-modal-box {
		display: flex;
		margin-bottom: 80px;
	}
}

@media all and (min-width: 961px) {
	.header-modal-left {
		width: 57%;
	}
}

@media all and (min-width: 961px) {
	.header-modal-left-menu .list {
		width: 50%;
	}
}

.header-modal-left-menu .list.n1 {
	margin-bottom: 3px;
}

.header-modal-left-menu .item {
	margin-bottom: 20px;
}

@media all and (max-width: 960px) {
	.header-modal-left-menu .item {
		margin-bottom: 15px;
	}
}

.header-modal-left-menu .link {
	display: block;
	position: relative;
	padding-left: 18px;
}

@media all and (min-width: 961px) {
	.header-modal-left-menu .link {
		font-size: 24px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-left-menu .link {
		font-size: 20px;
	}
}

.header-modal-left-menu .link::before {
	background-color: #02A29B;
	border-radius: 50%;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
	top: 20px;
}

@media all and (max-width: 960px) {
	.header-modal-left-menu .link::before {
		top: 15px;
	}
}

.header-modal-left-menu .link span {
	font-weight: 600;
}

.header-modal-left-menu .link.comingsoon::before {
	background-color: transparent;
}

@media all and (min-width: 961px) {
	.header-modal-left-menu .sub-list {
		margin-top: 15px;
	}
}

.header-modal-left-menu .sub-link {
	color: #999999;
	font-size: 14px;
	padding-left: 18px;
}

@media all and (min-width: 961px) {
	.header-modal-left-menu-box {
		display: flex;
		margin-bottom: 50px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-left-menu-box {
		border-bottom: solid 1px #E6E6E6;
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
}


@media all and (min-width: 961px) {
	.header-modal-right {
		width: calc(100% - 57%);
	}
}

@media all and (min-width: 961px) {
	.header-modal-right {
		border-left: solid 1px #E6E6E6;
		padding-left: 80px;
		width: calc(100% / 2);
	}
}

@media all and (max-width: 960px) {
	.header-modal-right {
		border-bottom: solid 1px #E6E6E6;
		margin-top: 0;
		margin-bottom: 40px;
		padding-bottom: 30px;
		padding-top: 0;
	}
}

.header-modal-right .head {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	font-weight: 700;
	line-height: 1.5;
}

@media all and (min-width: 961px) {
	.header-modal-right .head {
		font-size: 32px;
		margin-bottom: 30px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .head {
		font-size: 24px;
		margin-bottom: 16px;
	}
}

.header-modal-right .sub-head {
	font-weight: 600;
	position: relative;
}

@media all and (min-width: 961px) {
	.header-modal-right .sub-head {
		font-size: 16px;
		margin-bottom: 17px;
		padding-left: 15px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .sub-head {
		font-size: 12px;
		margin-bottom: 15px;
		padding-left: 13px;
	}
}

.header-modal-right .sub-head::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
	top: 11px;
}

@media all and (max-width: 960px) {
	.header-modal-right .sub-head::before {
		top: 8px;
	}
}

.header-modal-right .footer-search-box {
	position: relative;
}

@media all and (min-width: 961px) {
	.header-modal-right .footer-search-box {
		border-bottom: solid 1px #E6E6E6;
		margin-bottom: 28px;
		padding-bottom: 37px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .footer-search-box {
		margin-bottom: 30px;
	}
}

.header-modal-right .footer-search-box input,
.header-modal-right .footer-search-box button,
.header-modal-right .footer-search-box textarea,
.header-modal-right .footer-search-box select {
	color: #333333;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	resize: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/*--- サイト毎に指定 ---*/
	font-family: dnp-shuei-gothic-gin-std, sans-serif;
	font-weight: 500;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	/*--- サイト毎に指定 ---*/
	width: 100%;
}

.header-modal-right .footer-search-box .footer-search-box-input {
	background-color: #F5F5F5;
	border: solid 1px #E6E6E6;
	position: relative;
}

@media all and (min-width: 961px) {
	.header-modal-right .footer-search-box .footer-search-box-input {
		border-radius: 40px;
		padding: 15px 120px 15px 30px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .footer-search-box .footer-search-box-input {
		border-radius: 40px;
		padding: 15px 120px 15px 30px;
	}
}

.header-modal-right .footer-search-box .footer-search-box-input input {
	width: 100%;
	height: 100%;
}

.header-modal-right .footer-search-box .footer-search-box-button {
	background-color: #02A29B;
	color: #E6E6E6;
	cursor: pointer;
	font-weight: 600;
	text-align: center;
	position: absolute;
	transition: .3s all ease-in-out;
}

@media all and (min-width: 961px) {
	.header-modal-right .footer-search-box .footer-search-box-button {
		border-radius: 32px;
		width: 80px;
		line-height: 44px;
		top: 8px;
		right: 8px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .footer-search-box .footer-search-box-button {
		border-radius: 32px;
		width: 80px;
		line-height: 44px;
		top: 8px;
		right: 8px;
	}
}

.header-modal-right .footer-search-box .footer-search-box-button:hover {
	opacity: 0.7;
}

.header-modal-right .footer-search-box .footer-search-box-button button {
	cursor: pointer;
	color: #fff;
	font-weight: 600;
	transition: .3s all ease-in-out;
}

.header-modal-right .footer-tags-list {
	display: flex;
	flex-wrap: wrap;
}

@media all and (min-width: 961px) {
	.header-modal-right .footer-tags-list {
		margin-bottom: 35px;
		overflow: hidden;
		height: 60px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .footer-tags-list {
		margin-bottom: 15px;
	}
}

@media all and (min-width: 961px) {
	.header-modal-right .footer-tags-item {
		margin-bottom: 8px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .footer-tags-item {
		margin-bottom: 8px;
	}
}

@media all and (min-width: 961px) {
	.header-modal-right .footer-tags-item:not(:first-child) {
		margin-left: 4px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .footer-tags-item:not(:first-child) {
		margin-left: 4px;
	}
}

.header-modal-right .footer-tags-item a {
	border: solid 1px #E6E6E6;
	display: block;
	border-radius: 15px;
	font-size: 12px;
	line-height: 1;
	padding: 6px 12px 6px 12px;
}

.header-modal-right .footer-tag-archive-button {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.header-modal-right .footer-tag-archive-button a {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.header-modal-right .footer-tag-archive-button a span {
	font-weight: 600;
}

@media all and (min-width: 961px) {
	.header-modal-right .footer-tag-archive-button a span {
		font-size: 14px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-right .footer-tag-archive-button a span {
		font-size: 12px;
	}
}

@media all and (min-width: 961px) {
	.header-modal-bottom-info {
		margin-bottom: 80px;
		display: flex;
	}
}

@media all and (max-width: 960px) {
	.header-modal-bottom-info-logo {
		margin-top: 40px;
		margin-bottom: 20px;
	}
}

.header-modal-bottom-info-logo a {
	display: block;
}

@media all and (min-width: 961px) {
	.header-modal-bottom-info-logo a {
		margin-right: 80px;
		height: 100px;
		width: 220px;
	}
}

@media all and (max-width: 960px) {
	.header-modal-bottom-info-logo a {
		width: 132px;
		height: 60px;
	}
}

.header-modal-bottom-info-address {
	font-size: 14px;
}

@media all and (min-width: 961px) {
	.header-modal-bottom-info-address {
		display: block;
	}
}

@media all and (min-width: 961px) {
	.header-modal-bottom-sub {
		display: flex;
		justify-content: space-between;
	}
}

.active .header-modal::before {
	transform: scale(1);
	opacity: 1;
	transition: opacity 0.4s 0s, transform 0.6s cubic-bezier(0.87, 0, 0.13, 1) 0s;
}

@media all and (min-width: 961px) {
	.footer-action-inner {
		display: flex;
		padding-top: 120px;
		padding-bottom: 40px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

.footer-action-inner .head {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	font-weight: 700;
	line-height: 1.5;
}

@media all and (min-width: 961px) {
	.footer-action-inner .head {
		font-size: 32px;
		margin-bottom: 30px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .head {
		font-size: 24px;
		margin-bottom: 16px;
	}
}

@media all and (min-width: 961px) {
	.footer-action-inner .left {
		padding-right: 80px;
		width: calc(100% / 2);
	}
}

.footer-action-inner .left .gallerys {
	margin-bottom: 12px;
	margin-left: -20px;
	margin-right: -20px;
}
.footer-action-inner .left .gallerys:after {
	display: block;
	content: '';
	clear: both;
}
.footer-action-inner .left .gallerys .item{
	float: left;
	width: 50%;
}
.footer-action-inner .left .gallerys .item-m{
	cursor: pointer;
	display: block;
	position: relative;
	margin: 0 20px;
	border-radius: 16px;
	overflow: hidden;
}
.footer-action-inner .left .gallerys .item-m img{
	display: block;
	width: 100%;
	transition:all 300ms ease
}
/*
.footer-action-inner .left .gallerys .item-m:after{
	display: block;
	position: absolute;
	right: 12px;
	top: 12px;
	background: url(../img/footer/frame.svg) center center no-repeat;
	background-size: contain;
	content: "";
	height: 20px;
	width: 20px;
}
.footer-action-inner .left .gallerys .item-m:hover img {
	transform: scale(1.06);
}
*/

@media all and (max-width: 960px) {
	.footer-action-inner .left .gallerys {
		margin-bottom: 10px;
		margin-left: -10px;
		margin-right: -10px;
	}
	.footer-action-inner .left .gallerys .item-m{
		border-radius: 10px;
		margin: 0 10px;
	}
}

@media all and (min-width: 961px) {
	.footer-action-inner .right {
		border-left: solid 1px #E6E6E6;
		padding-left: 80px;
		width: calc(100% / 2);
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right {
		border-top: solid 1px #E6E6E6;
		margin-top: 40px;
		padding-top: 40px;
	}
}

.footer-action-inner .right .sub-head {
	font-weight: 600;
	position: relative;
}

@media all and (min-width: 961px) {
	.footer-action-inner .right .sub-head {
		font-size: 16px;
		margin-bottom: 17px;
		padding-left: 15px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .sub-head {
		font-size: 12px;
		margin-bottom: 15px;
		padding-left: 13px;
	}
}

.footer-action-inner .right .sub-head::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
	top: 11px;
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .sub-head::before {
		top: 8px;
	}
}

.footer-action-inner .right .footer-search-box {
	position: relative;
}

@media all and (min-width: 961px) {
	.footer-action-inner .right .footer-search-box {
		border-bottom: solid 1px #E6E6E6;
		margin-bottom: 28px;
		padding-bottom: 37px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .footer-search-box {
		margin-bottom: 30px;
	}
}

.footer-action-inner .right .footer-search-box input,
.footer-action-inner .right .footer-search-box button,
.footer-action-inner .right .footer-search-box textarea,
.footer-action-inner .right .footer-search-box select {
	color: #333333;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	resize: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/*--- サイト毎に指定 ---*/
	font-family: dnp-shuei-gothic-gin-std, sans-serif;
	font-weight: 500;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	/*--- サイト毎に指定 ---*/
	width: 100%;
}

.footer-action-inner .right .footer-search-box .footer-search-box-input {
	background-color: #F5F5F5;
	border: solid 1px #E6E6E6;
	position: relative;
}

@media all and (min-width: 961px) {
	.footer-action-inner .right .footer-search-box .footer-search-box-input {
		border-radius: 40px;
		padding: 15px 120px 15px 30px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .footer-search-box .footer-search-box-input {
		border-radius: 40px;
		padding: 15px 120px 15px 30px;
	}
}

.footer-action-inner .right .footer-search-box .footer-search-box-input input {
	width: 100%;
	height: 100%;
}

.footer-action-inner .right .footer-search-box .footer-search-box-button {
	background-color: #02A29B;
	color: #E6E6E6;
	cursor: pointer;
	font-weight: 600;
	text-align: center;
	position: absolute;
	transition: .3s all ease-in-out;
}

@media all and (min-width: 961px) {
	.footer-action-inner .right .footer-search-box .footer-search-box-button {
		border-radius: 32px;
		width: 80px;
		line-height: 44px;
		top: 8px;
		right: 8px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .footer-search-box .footer-search-box-button {
		border-radius: 32px;
		width: 80px;
		line-height: 44px;
		top: 8px;
		right: 8px;
	}
}

.footer-action-inner .right .footer-search-box .footer-search-box-button:hover {
	opacity: 0.7;
}

.footer-action-inner .right .footer-search-box .footer-search-box-button button {
	cursor: pointer;
	color: #fff;
	font-weight: 600;
	transition: .3s all ease-in-out;
}

.footer-action-inner .right .footer-tags-list {
	display: flex;
	flex-wrap: wrap;
}

@media all and (min-width: 961px) {
	.footer-action-inner .right .footer-tags-list {
		margin-bottom: 35px;
		overflow: hidden;
		height: 60px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .footer-tags-list {
		margin-bottom: 15px;
	}
}

@media all and (min-width: 961px) {
	.footer-action-inner .right .footer-tags-item {
		margin-bottom: 8px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .footer-tags-item {
		margin-bottom: 8px;
	}
}

@media all and (min-width: 961px) {
	.footer-action-inner .right .footer-tags-item:not(:first-child) {
		margin-left: 4px;
	}
}

@media all and (max-width: 960px) {
	.footer-action-inner .right .footer-tags-item:not(:first-child) {
		margin-left: 4px;
	}
}

.footer-action-inner .right .footer-tags-item a {
	border: solid 1px #E6E6E6;
	display: block;
	border-radius: 15px;
	font-size: 12px;
	line-height: 1;
	padding: 6px 12px 6px 12px;
}

.footer-action-inner .right .footer-tag-archive-button {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.footer-action-inner .right .footer-tag-archive-button a {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.footer-action-inner .right .footer-tag-archive-button a span {
	font-weight: 600;
}

.footer {
	color: #fff;
	overflow: hidden;
}

@media all and (min-width: 961px) {
	.footer {
		padding-top: 120px;
	}
}

.footer-inner {
	background-color: #02A29B;
	position: relative;
}

@media all and (min-width: 961px) {
	.footer-inner {
		border-radius: 0 160px 0 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		padding: 80px 11.25% 80px 10%;
		width: 90%;
	}
}

@media all and (max-width: 960px) {
	.footer-inner {
		border-radius: 0 80px 0 0;
		padding: 60px 20px;
		width: calc(100% - 20px);
	}
}

.footer-inner::after {
	animation: 60s rotate-2d linear infinite;
	background-image: url("../img/common/footer-circle.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	mix-blend-mode: multiply;
	position: absolute;
}

@media all and (min-width: 961px) {
	.footer-inner::after {
		width: 1000px;
		height: 1000px;
		right: -300px;
		top: -120px;
	}
}

@media all and (max-width: 960px) {
	.footer-inner::after {
		height: 426px;
		width: 426px;
		left: 36%;
		bottom: -140px;
	}
}

.footer-right {
	position: relative;
	z-index: 1;
}

@media all and (min-width: 961px) {
	.footer-right .footer-logo {
		margin-bottom: 20px;
	}
	.footer-right .footer-logo img{
		height: 50px;
		margin: 0;
	}
}

@media all and (max-width: 960px) {
	.footer-right .footer-logo {
		margin-top: 60px;
		margin-bottom: 10px;
	}
	.footer-right .footer-logo img{
		height: 40px;
		margin: 0;
	}
}


.footer-right .footer-copyright {
	font-size: 12px;
	line-height: 34px;
}
.footer-right .footer-copyright a{
	color: #fff;
}

.footer-link {
	margin-top: 30px;
}
.footer-link:after {
	display: block;
	content: '';
	clear: both;
}
.footer-link ul li{
	float: left;
	margin-right: 30px;
}
.footer-link ul li:last-child{
	margin-right: 0;
}
.footer-link ul li a{
	display: block;
	width: 30px;
	position: relative;
}
.footer-link ul li a .t{
	width: 100%;
}
.footer-link2 ul li a .t{
	border: 1px #e6e6e6 solid;
	border-radius: 100%;
}
.footer-link ul li a .m{
	position: absolute;
	left: 0;
	bottom: 40px;
	display: none;
	width: 120px;
	max-width: none;
}
.footer-link ul li:first-child a:hover {
	opacity: 1;
}
.footer-link ul li a:hover .m {
	display: block;
	opacity: 1;
}


.footer-nav {
	display: flex;
}

.footer-nav .list.n1 {
	margin-right: 60px;
}

.footer-nav .link {
	display: block;
	line-height: 1;
}

.footer-nav .link.comingsoon {
	pointer-events: none;
	opacity: 0.2;
}

.footer-nav .link * {
	color: #fff;
	font-weight: 600;
}

.footer-nav .sub-link {
	display: block;
	font-size: 12px;
	line-height: 1;
}

.footer-nav .sub-link * {
	color: #fff;
	font-weight: 500;
}

.footer-nav .item:not(:last-child) {
	margin-bottom: 24px;
}

.footer-nav .sub-item:not(:last-child) {
	margin-bottom: 12px;
}


@keyframes rotate-2d {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

.footer-left { padding-left: 40px;}

@media all and (max-width: 960px) {
	.footer-left { padding-left: 0;}
}

		
.magazine-profile-box {
	background-color: #F5F5F5;
}

@media all and (min-width: 961px) {
	.magazine-profile-box {
		border-radius: 80px;
		margin-bottom: 80px;
		padding: 70px 80px 75px;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-box {
		border-radius: 20px;
		margin-bottom: 40px;
		padding: 30px 20px 35px;
	}
}

.magazine-profile-inner {
	display: flex;
}

@media all and (max-width: 960px) {
	.magazine-profile-inner {
		align-items: center;
		margin-bottom: 24px;
	}
}

@media all and (min-width: 961px) {
	.magazine-profile-left {
		width: 200px;
		height: 150px;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-left {
		width: 138px;
		height: 104px;
	}
}

.magazine-profile-left .magazine-profile-thumbnail {
	border-radius: 10px 10px 40px 10px;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100%;
}

.magazine-profile-left .magazine-profile-thumbnail img {
	margin: unset;
	width: auto;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media all and (min-width: 961px) {
	.magazine-profile-right {
		margin-left: 24px;
		width: calc(100% - 24px - 200px);
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-right {
		margin-left: 19px;
		width: calc(100% - 19px - 138px);
	}
}

@media all and (min-width: 961px) {
	.magazine-profile-sub-head {
		font-size: 12px;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-sub-head {
		font-size: 10px;
	}
}

.magazine-profile-name {
	font-weight: 700;
}

@media all and (min-width: 961px) {
	.magazine-profile-name {
		font-size: 20px;
		margin-bottom: 20px;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-name {
		font-size: 16px;
		margin-bottom: 14px;
	}
}

@media all and (min-width: 961px) {
	.magazine-profile-text {
		font-size: 14px;
		margin-bottom: 30px;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-text {
		font-size: 12px;
		margin-bottom: 24px;
	}
}

.magazine-profile-sns {
	display: flex;
}

@media all and (min-width: 961px) {
	.magazine-profile-sns {
		font-size: 10px;
		display: flex;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-sns {
		font-size: 10px;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-sns.pc {
		display: none;
	}
}

@media all and (min-width: 961px) {
	.magazine-profile-sns.sp {
		display: none;
	}
}

.magazine-profile-sns .sns-link {
	display: block;
	position: relative;
	padding-right: 14px;
}

.magazine-profile-sns .sns-link::after {
	background-image: url("../images/magazine/tab.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 5px;
}

@media all and (min-width: 961px) {
	.magazine-profile-sns .sns-link::after {
		height: 8.46px;
		width: 10px;
	}
}

@media all and (max-width: 960px) {
	.magazine-profile-sns .sns-link::after {
		height: 8.46px;
		width: 10px;
	}
}

.magazine-profile-sns .sns-link:not(:first-child) {
	margin-left: 16px;
}

.magazine-profile-sns .sns-link span {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	color: #1CC18E;
	font-weight: 700;
	position: relative;
}

.magazine-profile-sns .sns-link span::before {
	background-color: #1CC18E;
	content: "";
	display: block;
	height: 1px;
	width: 100%;
	position: absolute;
	bottom: -2px;
	left: 0;
}

.magazine-information-head,
.magazine-profile-head {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	font-weight: 700;
	position: relative;
}

@media all and (min-width: 961px) {
	.magazine-information-head,
    .magazine-profile-head {
		font-size: 20px;
		margin-bottom: 30px;
		padding-left: 12px;
	}
}

@media all and (max-width: 960px) {
	.magazine-information-head,
    .magazine-profile-head {
		font-size: 18px;
		margin-bottom: 20px;
		padding-left: 12px;
	}
}

.magazine-information-head::before,
  .magazine-profile-head::before {
	background-color: #1CC18E;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
}

@media all and (min-width: 961px) {
	.magazine-information-head::before,
      .magazine-profile-head::before {
		top: 15px;
	}
}

@media all and (max-width: 960px) {
	.magazine-information-head::before,
      .magazine-profile-head::before {
		top: 10px;
	}
}


.other-artists {
	background-color: #FDFAE8;
}

@media all and (min-width: 961px) {
	.other-artists {
		border-radius: 0 160px 0 160px;
	}
}

@media all and (max-width: 960px) {
	.other-artists {
		border-radius: 0 40px 0 40px;
	}
}

.other-artists .other-artists-inner {
	margin-left: auto;
	margin-right: auto;
}

@media all and (min-width: 769px) {
	.other-artists .other-artists-inner {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner {
		max-width: calc(1440px + 80px);
		padding-top: 120px;
		padding-bottom: 20px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner {
		padding: 80px 20px 20px;
	}
}

.other-artists .other-artists-inner .artists-articles .list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item {
		width: calc((100% - 180px) / 4);
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item {
		width: calc((100% - 19px) / 2);
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item:nth-child(1) {
		margin-bottom: 30px;
	}
}

.other-artists .other-artists-inner .artists-articles .item:nth-child(1) .thumb {
	border-radius: 80px 10px 10px 10px;
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item:nth-child(2) {
		margin-bottom: 30px;
	}
}

.other-artists .other-artists-inner .artists-articles .item:nth-child(2) .thumb {
	border-radius: 10px 10px 10px 80px;
}

.other-artists .other-artists-inner .artists-articles .item:nth-child(3) .thumb {
	border-radius: 10px 80px 10px 10px;
}

.other-artists .other-artists-inner .artists-articles .item:nth-child(4) .thumb {
	border-radius: 10px 10px 80px 10px;
}

.other-artists .other-artists-inner .artists-articles .item .thumb {
	overflow: hidden;
	position: relative;
	height: 0;
	width: 100%;
	padding-bottom: 100%;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item .thumb {
		margin-bottom: 24px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item .thumb {
		margin-bottom: 15px;
	}
}

.other-artists .other-artists-inner .artists-articles .item .thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.other-artists .other-artists-inner .artists-articles .item .thumb .thumbnail-caption {
	font-feature-settings: "palt";
	position: absolute;
	bottom: 5px;
	left: 0;
	right: 0;
	overflow: hidden;
	margin: 0 auto;
	text-align: center;
	width: 70%;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item .thumb .thumbnail-caption {
		font-size: 12px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item .thumb .thumbnail-caption {
		font-size: 10px;
	}
}

.other-artists .other-artists-inner .artists-articles .item .thumb .thumbnail-caption.black {
	color: #333333;
}

.other-artists .other-artists-inner .artists-articles .item .thumb .thumbnail-caption.white {
	color: #ffffff;
}

.other-artists .other-artists-inner .artists-articles .item .category {
	line-height: 1;
	font-weight: 700;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item .category {
		font-size: 12px;
		margin-bottom: 12px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item .category {
		font-size: 10px;
		margin-bottom: 10px;
	}
}

.other-artists .other-artists-inner .artists-articles .item .name-jp {
	font-weight: 700;
	line-height: 1;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item .name-jp {
		font-size: 24px;
		margin-bottom: 7px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item .name-jp {
		font-size: 20px;
		margin-bottom: 6px;
	}
}

.other-artists .other-artists-inner .artists-articles .item .name-en {
	font-family: termina, sans-serif;
	font-weight: 700;
	letter-spacing: 0 !important;
	color: #999999;
	font-weight: 700;
	line-height: 1;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item .name-en {
		font-size: 10px;
		margin-bottom: 14px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item .name-en {
		font-size: 9px;
		margin-bottom: 12px;
	}
}

.other-artists .other-artists-inner .artists-articles .item .genre {
	font-weight: 700;
	line-height: 1.4;
	position: relative;
	padding-left: 10px;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item .genre {
		font-size: 12px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item .genre {
		font-size: 10px;
	}
}

.other-artists .other-artists-inner .artists-articles .item .genre::before {
	background-color: #1CC18E;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	left: 0;
}

@media all and (min-width: 961px) {
	.other-artists .other-artists-inner .artists-articles .item .genre::before {
		top: 5px;
	}
}

@media all and (max-width: 960px) {
	.other-artists .other-artists-inner .artists-articles .item .genre::before {
		top: 4px;
	}
}

.other-artists .other-artists-inner .artists-articles .item .genre * {
	font-weight: 700;
	display: inline;
}

.other-artists .other-artists-inner .artists-articles .item .genre > ul:not(:last-child)::after {
	content: "/";
}

.other-artists .other-artists-inner .artists-articles .item .genre > ul li.child:first-child::before {
	content: ": ";
}

.other-artists .other-artists-inner .artists-articles .item .genre > ul li.child:not(:last-child)::after {
	content: ",";
}

.crumbs-box {
  position: absolute;
	bottom: 40px;
  text-align: right;
}


.mainer_pt { padding-top: 220px;}
.mainer-grey {
	background: #F9F9F9;
}


.details-mainbox {
	max-width: 1760px;
	margin: 0 70px;
	position: relative;
}
.details-main {
	padding-left: 31%;
}
.details-content {
	max-width: 1040px;
	padding-bottom: 120px;
}

.details-main-book {
	padding-left: 50%;
	padding-top: 150px;
	padding-bottom: 150px;
	position: relative;
}

@media all and (min-width: 960px) and (max-width: 1440px) {
	.details-main-book {
		padding-top: 120px;
		padding-bottom: 120px;
	}
}

.details-main-book .details-content {
	max-width: 700px;
	padding-bottom: 0;
}

@media all and (min-width: 960px) and (max-width: 1440px) {
	.details-main {
		padding-right: 4.545vw;
	}
}

@media all and (max-width: 960px) {
	.mainer_pt { padding-top: 100px;}
	.details-mainbox {
		margin: 0 20px;
	}
	.details-main {
		padding-left: 0;
	}
	.details-main-book {
		padding-left: 0;
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.details-content {
		padding-bottom: 60px;
	}
}


.details-top {
	position: relative;
	margin-bottom: 100px;
}
.details-top .crumbs-box{
	bottom: -60px;
	right: 70px;
}
.left-title-box .crumbs-box{
	position: relative;
	bottom:auto;
	left: auto;
	right: auto;
	text-align: left;
	padding-top: 12px;
}
.details-top .img {
	margin-left: 31%;
	max-width: 1200px;
}
.details-top .img img{
	display: block;
	width: 100%;
	border-radius: 20px 20px 160px 20px;
}
.details-top .img video{
	display: block;
	width: 100%;
	border-radius: 20px 20px 160px 20px;
	height: calc( (100vw - 140px) * 0.69 * 0.5625);
}
.details-top .img iframe{
	display: block;
	width: 100%;
	border-radius: 20px 20px 160px 20px;
	height: calc( (100vw - 140px) * 0.69 * 0.5625);
}

.details-top-book .img {
	margin-left: 50%;
	max-width: 28%;
}
.details-top-book .img img{
	border-radius: 16px;
}

@media all and (max-width: 960px) {
	.details-top {
		position: relative;
		margin-bottom: 40px;
	}
	.details-top .img {
		margin-left: 0;
	}
	.details-top .img img{
		border-radius: 10px 10px 80px 10px;
	}
	.details-top .img video{
		border-radius: 10px 10px 80px 10px;
		height: calc( (100vw - 40px) * 0.5625);
	}
	.details-top .img iframe{
		border-radius: 10px 10px 80px 10px;
		height: calc( (100vw - 40px) * 0.5625);
	}
	.details-top-book .crumbs-box{
		right: auto;
		left: auto;
	}
	.details-top-book .img {
		margin-left: 0;
		max-width: 100%;
	}
	.details-top-book .img img{
		border-radius: 10px;
	}
}


.details-book-author { position: relative; background-size: cover !important; background-repeat: no-repeat !important; background-position: center center !important;}
.details-book-author .info { position: relative; z-index: 2; background: rgba(0, 0, 0, 0.4); color: #fff; padding: 180px 0;}
.details-book-author .info .tit { text-align: center; margin-bottom: 50px;}
.details-book-author .info .tit b { display: block; font-size: 20px; font-weight: 700; margin-bottom: 6px;}
.details-book-author .info .tit span { display: block; text-transform: uppercase; opacity: 0.6;}
.details-book-author .info .con { max-width: 620px; margin: 0 auto; text-align: center; font-size: 16px;}

@media all and (max-width: 960px) {
	.details-book-author .info { padding: 80px 20px;}
	.details-book-author .info .tit b { font-size: 18px;}
	.details-book-author .info .tit span { font-size: 12px;}
	.details-book-author .info .con { font-size: 14px;}
}

.left-title-box {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 26%;
}

.left-title-box2 {
	position: sticky;
	top: 50%;
	float: left;
}

.left-title-box .info{
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 20px;
	padding-left: 14px;
	position: relative;
}
.left-title-box .info::before {
	background-color: #02A29B;
	border-radius: 6px;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	top: 50%;
	margin-top: -3px;
	left: 0;
}
.left-title-box .info span {
	font-family: 'DIN';
	font-size: 12px;
	font-weight: 500;
	margin-left: 20px;
	color: #999;
}

.left-title-box .title h1{
	font-weight: 600;
	font-size: 48px;
	line-height: 1.5;
}

@media all and (min-width: 960px) and (max-width: 1440px) {
	.left-title-box .title h1{
		font-size: 32px;
	}
}
@media all and (max-width: 960px) {
	.left-title-box {
		position: relative;
		left: auto;
		top: auto;
		margin-bottom: 40px;
		transform: none;
		width: auto;
	}
	.left-title-box .title h1 {
		font-size: 24px;
	}
	.left-title-box2 {
		position: relative;
	}
}

.minpage-wrapper {
	max-width: 900px;
	margin: 0 auto;
}

.details-title {
	margin-bottom: 60px;
	padding-top: 26px;
	line-height: 1;
	display: flex;
	align-items: center;
	position: relative;
}

.details-title-ab {
	margin-bottom: -90px;
}

.details-title::before {
	background-color: #02A29B;
	content: "";
	display: block;
	height: 4px;
	width: 20px;
	position: absolute;
	left: 0;
	top: 0;
}
.details-title b {
	font-family: 'Fangyuan';
	font-size: 48px;
	line-height: 64px;
	font-weight: 600;
}
.details-title span {
	font-size: 12px;
	line-height: 1;
	margin-left: 12px;
	padding-top: 32px;
}
.details-title p {
	float: left;
	margin-left: 100px;
	width: 520px;
	font-size: 14px;
	line-height: 1.6;
}
.details-title p.p2 {
	width: 700px;
}
.details-title p.al31 {
	float: none;
	margin-left: 0;
	position: absolute;
	left: 35%;
	top: 50%;
	margin-top: 14px;
	transform: translateY(-50%);
}
.details-title p.al312 {
	float: none;
	margin-left: 0;
	position: absolute;
	left: 31%;
	top: 50%;
	margin-top: 14px;
	transform: translateY(-50%);
}

.details-title2 {
	display: block;
}
.details-title2 span{
	display: block;
	margin-left: 0;
	padding-top: 10px;
}
@media all and (max-width: 1500px) {
	.details-title p.al31 {
		left: 500px;
	}
	.details-title p.al312 {
		left: 450px;
	}
}

@media all and (max-width: 960px) {
	.details-title {
		padding-top: 24px;
		flex-wrap: wrap;
	}
	.details-title b {
		font-size: 32px;
		line-height: 40px;
	}
	.details-title span {
		padding-top: 16px;
	}
	.details-title p {
		float: none;
		width: auto;
		display: block;
		margin-left: 0;
		font-size: 12px;
		padding-top: 10px;
		margin-right: 20px;
	}
	.details-title p.p2 {
		width: auto;
	}
	.details-title p.al31 {
		float: none;
		margin-left: 0;
		margin-top: 0;
		position: relative;
		left: auto;
		top: auto;
		transform: none;
	}
	.details-title p.al312 {
		float: none;
		margin-left: 0;
		margin-top: 0;
		position: relative;
		left: auto;
		top: auto;
		transform: none;
	}
	.details-title-ab {
		margin-bottom: 40px;
	}
}


.details-box {
	font-size: 16px;
	line-height: 1.75;
	padding-bottom: 80px;
}
.details-box b{
	font-weight: 700;
}
.details-box strong{
	font-weight: 700;
}
.details-box h3{
	font-size: 18px;
	font-weight: 700;
}
.details-box h2{
	font-size: 20px;
	font-weight: 700;
}
.details-box h1{
	font-size: 22px;
	font-weight: 700;
}
.details-box ul li{
	list-style: disc;
	margin-left: 1.2em;
}
.details-box img{
	max-width: 100%;
	border-radius: 16px;
}

.details-main-book .details-box {
	padding-bottom: 0;
}

.details-tit {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.details-tit .tit{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 6px;
}
.details-tit .titen{
	font-size: 14px;
	color: #999999;
	text-transform: uppercase;
}

@media all and (max-width: 960px) {
	.details-tit {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
	}
	.details-tit .tit{
		font-size: 18px;
	}
	.details-tit .titen{
		font-size: 12px;
	}
	.details-box img{
		border-radius: 10px;
	}
}

.news-tag {
	position: relative;
}

.news-tag::before {
	font-family: 'DIN';
	font-weight: 600;
	letter-spacing: 0 !important;
	background-color: #F8C298;
	text-align: center;
	content: "NEW";
	position: absolute;
	z-index: 11;
}

@media all and (min-width: 961px) {
	.news-tag::before {
		border-radius: 15px;
		font-size: 12px;
		width: 64px;
		line-height: 32px;
		top: 10px;
		left: 10px;
	}
}

@media all and (max-width: 960px) {
	.news-tag::before {
		border-radius: 15px;
		font-size: 9px;
		width: 54px;
		line-height: 24px;
		top: 10px;
		left: 10px;
	}
}

@media all and (max-width: 960px) {
	.minpage-wrapper {
		margin: 0 20px;
	}
	.details-title {
		font-size: 24px;
		margin-bottom: 22px;
	}
	.details-box {
		font-size: 14px;
		padding-bottom: 20px;
	}
}


.article-list {
	display: flex;
	flex-wrap: wrap;
}

@media all and (min-width: 961px) {
	.article-list {
		margin: 0 -20px;
		margin-bottom: 40px;
	}
	.article-list2{
		margin: 0 -30px;
	}
}

@media all and (max-width: 960px) {
	.article-list {
		justify-content: space-between;
	}
}

@media all and (min-width: 961px) {
	.article-list .item {
		margin-left: 20px;
		margin-right: 20px;
		margin-bottom: 40px;
		width: calc((100% - 200px) / 5);
	}
	.article-list2 .item{
		margin-left: 30px;
		margin-right: 30px;
		width: calc((100% - 240px) / 4);
	}
	.article-list4 .item{
		width: calc((100% - 80px) / 2);
	}
}

@media all and (max-width: 960px) {
	.article-list .item {
		margin-bottom: 30px;
		width: calc((100% - 19px) / 2);
	}
}

.article-list .item-m {
	display: block;
}

.article-list .item-m .img {
	border-radius: 16px;
	height: 0;
	overflow: hidden;
	padding-bottom: 100%;
	position: relative;
	width: 100%;
}


@media all and (max-width: 960px) {
.article-list .item-m .img {
	border-radius: 10px;
}
}

.article-list2 .item-m .img {
	padding-bottom: 75%;
}
.article-list3 .item-m .img {
	padding-bottom: 100%;
}
.article-list4 .item-m .img {
	padding-bottom: 72%;
}
.article-list .item-m .img .time{
	display: block;
	font-style: normal;
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: 0 5px;
	height: 18px;
	line-height: 18px;
	border-radius: 9px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 12px;
	z-index: 2;
}

@media all and (min-width: 961px) {
	.article-list .item-m .img {
		margin-bottom: 20px;
	}
}

@media all and (max-width: 960px) {
	.article-list .item-m .img {
		margin-bottom: 18px;
	}
}

.article-list .item-m .img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: 1;
}

.article-list .item-m .tit {
	font-weight: 600;
	line-height: 1.6;
}
.article-list .item-m .info {
    line-height: 1.6;
    font-weight: 400;
}

@media all and (min-width: 961px) {
	.article-list .item-m .tit {
		font-size: 16px;
		margin-bottom: 8px;
	}
	.article-list2 .item-m .tit {
		font-size: 20px;
		margin-bottom: 8px;
	}
	.article-list .item-m .info {
			font-size: 14px;
			margin-bottom: 12px;
	}
}

@media all and (max-width: 960px) {
	.article-list .item-m .tit {
		margin-bottom: 6px;
	}
	.article-list2 .item-m .tit {
		font-size: 16px;
	}
	.article-list .item-m .info {
		font-size: 12px;
		margin-bottom: 10px;
	}
}

.article-list .item-m .date {
	font-family: 'DIN';
	font-weight: 500;
	letter-spacing: 0 !important;
	color: #999999;
	letter-spacing: normal;
}

@media all and (min-width: 961px) {
	.article-list .item-m .date {
		font-size: 12px;
		margin-bottom: 2px;
	}
}

@media all and (max-width: 960px) {
	.article-list .item-m .date {
		font-size: 9px;
		margin-bottom: 2px;
	}
}

.article-list .item-m .author{
	font-weight: 400;
	position: relative;
	padding-left: 11px;
}

@media all and (min-width: 961px) {

	.article-list .item-m .author{
		font-size: 12px;
	}
}

@media all and (max-width: 960px) {

	.article-list .item-m .author{
		font-size: 10px;
	}
}
.article-list .item-m .author::before{
	background-color: #02A29B;
	border-radius: 50%;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
}

@media all and (min-width: 961px) {
	.article-list .item-m .author::before{
		top: 8px;
		left: 0;
	}
}

@media all and (max-width: 960px) {
	.article-list .item-m .author::before{
		top: 6px;
		left: 0;
	}
}



.article-list3 .item:nth-child(1) .img,
.article-list3 .item:nth-child(8) .img,
.article-list3 .item:nth-child(10) .img,
.article-list3 .item:nth-child(15) .img,
.article-list3 .item:nth-child(17) .img,
.article-list3 .item:nth-child(24) .img {
	border-radius: 80px 16px 16px 16px;
}

.article-list3 .item:nth-child(2) .img,
.article-list3 .item:nth-child(7) .img,
.article-list3 .item:nth-child(9) .img,
.article-list3 .item:nth-child(16) .img,
.article-list3 .item:nth-child(18) .img,
.article-list3 .item:nth-child(23) .img {
	border-radius: 16px 16px 16px 80px;
}

.article-list3 .item:nth-child(3) .img,
.article-list3 .item:nth-child(6) .img,
.article-list3 .item:nth-child(12) .img,
.article-list3 .item:nth-child(13) .img,
.article-list3 .item:nth-child(19) .img,
.article-list3 .item:nth-child(22) .img {
	border-radius: 16px 80px 16px 16px;
}

.article-list3 .item:nth-child(4) .img,
.article-list3 .item:nth-child(5) .img,
.article-list3 .item:nth-child(11) .img,
.article-list3 .item:nth-child(14) .img,
.article-list3 .item:nth-child(20) .img,
.article-list3 .item:nth-child(21) .img {
	border-radius: 16px 16px 80px 16px;
}


.article-list4 .item:nth-child(1) .img {
	/*border-radius: 80px 16px 16px 16px;*/
}


@media all and (max-width: 960px) {

.article-list3 .item:nth-child(1) .img,
.article-list3 .item:nth-child(8) .img,
.article-list3 .item:nth-child(10) .img,
.article-list3 .item:nth-child(15) .img,
.article-list3 .item:nth-child(17) .img,
.article-list3 .item:nth-child(24) .img {
	border-radius: 80px 10px 10px 10px;
}

.article-list3 .item:nth-child(2) .img,
.article-list3 .item:nth-child(7) .img,
.article-list3 .item:nth-child(9) .img,
.article-list3 .item:nth-child(16) .img,
.article-list3 .item:nth-child(18) .img,
.article-list3 .item:nth-child(23) .img {
	border-radius: 10px 10px 10px 80px;
}

.article-list3 .item:nth-child(3) .img,
.article-list3 .item:nth-child(6) .img,
.article-list3 .item:nth-child(12) .img,
.article-list3 .item:nth-child(13) .img,
.article-list3 .item:nth-child(19) .img,
.article-list3 .item:nth-child(22) .img {
	border-radius: 10px 80px 10px 10px;
}

.article-list3 .item:nth-child(4) .img,
.article-list3 .item:nth-child(5) .img,
.article-list3 .item:nth-child(11) .img,
.article-list3 .item:nth-child(14) .img,
.article-list3 .item:nth-child(20) .img,
.article-list3 .item:nth-child(21) .img {
	border-radius: 10px 10px 80px 10px;
}


.article-list4 .item:nth-child(1) .img {
	/*border-radius: 80px 10px 10px 10px;*/
}

}


a .title span ,a .tit span{
	position: relative;
	display: inline;
	background-size: 0 1px;
	background-image: url("../img/common/line.svg");
	background-repeat: no-repeat;
	background-position: right bottom;
	will-change: background-size;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

a:hover .title span ,a:hover .tit span{
	background-size: 100% 1px;
	background-position: left bottom;
}


.mainbox {
	max-width: calc(1440px + 80px);
	padding-left: 40px;
	padding-right: 40px;
	margin: 0 auto;
}
.plbox {
	padding-left: calc((100% - 1440px) / 2 - 40px);
	margin-left: 40px;
	position: relative;
}
.prbox {
	padding-right: calc((100% - 1440px) / 2 - 40px);
	margin-right: 40px;
	position: relative;
}
.pt120 {
	padding-top: 120px;
}
.pb120 {
	padding-bottom: 120px;
}
.pt60 {
	padding-top: 60px;
}
.pb60 {
	padding-bottom: 60px;
}
.mt120 {
	margin-top: 120px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb120 {
	margin-bottom: 120px;
}
.mt180 {
	margin-top: 180px;
}
.mb180 {
	margin-bottom: 180px;
}

.plmbox { margin-left: 31%; padding-right: calc((100vw - 1440px) / 2);}
.plmbox-bg { background: #EFF8F6; border-radius: 70px 0 0 70px;}
.plmbox2 { margin-left: 18%; padding-left: 90px; padding-top: 120px; padding-bottom: 120px; }
.plmbox2-2{ padding-right: 0;}

.plmtop { margin-left: 31%; margin-right: 70px; padding-bottom: 100px; max-width: 1200px; position: relative; }
.plmtop .img img {
	display: block;
	width: 100%;
	border-radius: 20px 20px 160px 20px;
}

.plmtop2 { margin-left: 50%; max-width: 650px;}

@media all and (max-width: 1760px) {
.common-page-title-wrapper .text {
	max-width: 50%;
}
}

@media all and (max-width: 960px) {
	.mainbox {
		max-width: auto;
		padding-left: 20px;
		padding-right: 20px;
	}
	.plbox {
		padding-left: 0;
		margin-left: 20px;
	}
	.prbox {
		padding-right: 0;
		margin-right: 20px;
	}
	.pt120 {
		padding-top: 60px;
	}
	.pb120 {
		padding-bottom: 60px;
	}
	.mb60 {
		margin-bottom: 40px;
	}
	.mt120 {
		margin-top: 60px;
	}
	.mb120 {
		margin-bottom: 60px;
	}
	.mt180 {
		margin-top: 60px;
	}
	.mb180 {
		margin-bottom: 60px;
	}
	.plmbox { margin-left: 0; padding-right: 20px;}
	.plmbox2 { margin-left: 0; padding-left: 20px; padding-top: 40px; padding-bottom: 40px; }
	.plmbox-bg { border-radius: 40px 0 0 40px;}
	.plmtop { margin-left: 0; margin-right: 20px; padding-bottom: 50px; }
	.plmtop .img img { border-radius: 10px 10px 80px 10px; }
	.plmtop2 { margin-left: 0; max-width: auto;}
}


/*书籍*/
.related-book { position: relative; overflow: hidden; }
.related-book .swiper-slide{ width: auto; }
.related-book .item{ }
.related-book .item-m{ display: block; }
.related-book .item-m .img {
	border-radius: 16px;
	height: 0;
	overflow: hidden;
	padding-bottom: 140%;
	position: relative;
	width: 100%;
	margin-bottom: 20px;
}
@media all and (max-width: 960px) {
.related-book .item-m .img {
	border-radius: 10px;
}
}
.related-book .item-m .img::after {
	display: block;
	content: '';
	position: absolute;
	z-index: 2;
	right: 20px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	border-radius: 100%;
	background: rgba(255, 255, 255, 0.9);
}
.related-book .item-m .img::before {
	display: block;
	content: '';
	position: absolute;
	z-index: 3;
	background: url(../img/common/arrow.svg) center center no-repeat;
	background-size: contain;
	height: 10px;
	width: 16px;
	right: 42px;
	bottom: 45px;
}
.related-book .item-m .img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: 1;
}
.related-book .item-m .tit {
	font-weight: 600;
	line-height: 1.6;
	font-size: 20px;
	margin-bottom: 10px;
}
.related-book .item-m .info {
	font-size: 14px;
	line-height: 1.6;
	font-weight: 400;
}

@media all and (max-width: 960px) {
	.related-book .item-m .img {
		margin-bottom: 18px;
	}
	.related-book .item-m .img::after {
		right: 10px;
		bottom: 10px;
		width: 40px;
		height: 40px;
	}
	.related-book .item-m .img::before {
		right: 22px;
		bottom: 25px;
	}
	.related-book .item-m .tit {
		font-size: 16px;
		margin-bottom: 6px;
	}
	.related-book .item-m .info {
		font-size: 12px;
		margin-bottom: 6px;
	}
}


/*相关分享*/
.related-list { padding: 60px 0 60px 90px;}
.related-list .item{ padding: 30px 0; }
.related-list .item-m{ display: flex; align-items: center; }
.related-list .item-m .img {
	border-radius: 16px;
	height: 0;
	overflow: hidden;
	padding-bottom: 198px;
	position: relative;
	width: 264px;
	margin-right: 50px;
	flex-grow: 0;
	flex-basis: 264px;
}
@media (min-width: 960px) and (max-width: 1480px) {
	.related-list { padding-right: 20px;}
}
@media all and (max-width: 960px) {
.related-list .item-m .img {
	border-radius: 10px;
}
}
.related-list .item-m .img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: 1;
}
.related-list .item-m .con {
	flex-grow: 1;
	flex-basis: 0;
}
.related-list .item-m .tit {
	font-weight: 600;
	line-height: 1.6;
	font-size: 20px;
	margin-bottom: 24px;
}
.related-list .item-m .info {
	display: block;
	word-wrap: break-word;
}

.related-list .item-m .author span{
	font-family: 'DIN';
	font-weight: 500;
	letter-spacing: 0 !important;
	color: #999999;
	letter-spacing: normal;
	font-size: 12px;
	margin-left: 12px;
}


.related-list .item-m .author{
	font-weight: 400;
	position: relative;
	padding-left: 11px;
	font-size: 12px;
}

.related-list .item-m .author::before{
	background-color: #02A29B;
	border-radius: 50%;
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	top: 8px;
	left: 0;
	position: absolute;
}


@media all and (max-width: 960px) {
	
	.related-list { padding: 10px 0 10px 10px; margin-right: -10px; display: flex; flex-wrap: wrap; justify-content: space-between;}
	.related-list .item{ padding: 10px 0; width: 50%; }
	.related-list .item-m { margin: 0 10px; display: block;}
	.related-list .item-m .img {
		width: 100%;
		padding-bottom: 75%;
		margin-bottom: 8px;
		flex-basis: auto;
	}
	.related-list .item-m .tit {
		font-size: 14px;
		margin-bottom: 4px;
	}
	.related-list .item-m .info {
		font-size: 12px;
		line-height: 18px;
		max-height: 36px;
		overflow: hidden;
	}
	.related-list .item-m .author{
		font-size: 10px;
	}
	.related-list .item-m .author span {
		font-size: 9px;
		margin-left: 8px;
	}
	.related-list .item-m .author::before{
		top: 6px;
		left: 0;
	}
}


.guidance-list { margin: 0 -20px; display: flex; flex-wrap: wrap;}
.guidance-list .item{ margin-left: 20px; margin-right: 20px; border-radius: 24px; background: #F9F9F9; padding: 36px 30px; margin-bottom: 40px; width: calc((100% - 80px) / 2);}
.guidance-list .item-m{ display: block; }
.guidance-list .item-m .tit {
	font-weight: 600;
	line-height: 1.1;
	font-size: 24px;
	color: #02A29B;
	margin-bottom: 20px;
}
.guidance-list .item-m .info {
	font-size: 14px;
	line-height: 1.6;
	font-weight: 400;
}

@media all and (max-width: 960px) {
	.guidance-list { margin: 0 -10px; }
	.guidance-list .item{ margin-left: 10px; margin-right: 10px; margin-bottom: 20px; width: 100%;border-radius: 10px; padding: 16px 12px;}
	.guidance-list .item-m .tit {
		font-size: 16px;
		margin-bottom: 6px;
	}
	.guidance-list .item-m .info {
		font-size: 12px;
		min-height: auto;
	}
}


.swtit { font-size: 48px; line-height: 60px; font-family: 'Fangyuan'; font-weight: 500; padding: 50px 0; max-width: 660px;}
.swtit2 { max-width: 700px;}
.swtit span { color: #02A29B;}
.swinfo { font-size: 16px; max-width: 560px;}
.swinfo2 { max-width: none;}
@media all and (max-width: 960px) {
	.swtit { font-size: 24px; line-height: 32px; padding: 20px 0; max-width: none;}
	.swtit2 { max-width: none;}
	.swinfo { font-size: 14px; max-width: none;}
}


.lnav-box { position: absolute; left: calc((100% - 1440px) / 2 - 20px); top: 0; bottom: 0; padding-top: 300px; }
.lnav-list { position: sticky; left: 0; top: 50%; transform: translateY(-50%); z-index: 999;}
.lnav-list .tit{ position: relative; font-size: 20px; line-height: 1; margin-bottom: 34px;}
.lnav-list .tit:before { display: block; content: ''; height: 4px; width: 20px; background-color: #02A29B; margin-bottom: 20px;}
.lnav-list .con{}
.lnav-list .con ul li { margin-bottom: 10px;}
.lnav-list .con a{ display: block; position: relative; padding-left: 12px; line-height: 26px; color: #999; }
.lnav-list .con a.on { color: #333;}
.lnav-list .con a.on:before { display: block; content: ''; height: 6px; width: 6px; border-radius: 3px; background-color: #02A29B; position: absolute; left: 0; top: 50%; margin-top: -3px;}
.lnav-list .con a:hover { color: #333;}

@media all and (max-width: 1520px) {
	.lnav-box { left: 20px;}
}

@media all and (max-width: 960px) {
	.lnav-box { display: none;}
}


.matter-cate { border-bottom: 1px #E6E6E6 solid; display: flex; align-items: center; padding-bottom: 50px; margin-left: 60px;}
.matter-cate .img {
	border-radius: 16px;
	height: 0;
	overflow: hidden;
	padding-bottom: 150px;
	position: relative;
	width: 260px;
	flex-grow: 0;
	flex-basis: 260px;
}
@media all and (max-width: 960px) {
.matter-cate .img {
	border-radius: 10px;
}
}
.matter-cate .img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: 1;
}
.matter-cate .con {
	padding: 0 100px;
	font-size: 16px;
	flex-grow: 1;
	flex-basis: 0;
}
.matter-cate .con .common-button{
	margin-top: 40px;
	text-align: left;
}
.matter-cate .con .common-button-link{
	justify-content: left;
}

.matter-list { margin-left: 60px; padding-bottom: 100px;}
.matter-list .item { }
.matter-list .item .tit{ border-bottom: 1px #E6E6E6 solid; position: relative; padding: 40px 60px; font-size: 20px; line-height: 30px; font-weight: 500; cursor: pointer;}
.matter-list .item .tit i {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -12px;
	font-family: 'DIN';
	font-weight: 500;
	display: inline-block;
	background-color: #02A29B;
	border-radius: 12px;
	color: #fff;
	font-size: 14px;
	line-height: 24px;
	width: 40px;
	font-style: normal;
	text-align: center;
}
.matter-list .item .tit:after{
	font-weight: normal;
	display: block;
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -15px;
	height: 30px;
	width: 30px;
	background: url(../img/common/jia.svg) center center no-repeat;
	background-size: 16px auto;
}
.matter-list .item_on .tit:after{
	background: url(../img/common/jian.svg) center center no-repeat;
	background-size: 16px auto;
}
.matter-list .item .con { display: none; padding: 40px 0 10px 60px; font-size: 16px;}
.matter-list .item .con ul { margin-left: 1.2em;}
.matter-list .item .con ul li { list-style-type: disc;}
.matter-list .item:nth-child(1) .con { display: block;}

@media (min-width: 960px) and (max-width: 1480px) {
	.matter-list { padding-right: 40px;}
}

@media all and (max-width: 960px) {
	.matter-cate { padding-bottom: 10px; margin-left: 0; display: block;}
	.matter-cate .img {
		padding-bottom: 58%;
		width: 100%;
		flex-grow: 0;
		flex-basis: auto;
	}
	.matter-cate .con {
		padding: 20px 0;
		font-size: 14px;
		flex-grow: 1;
		flex-basis: 0;
	}
	
	.matter-list { margin-left: 0; padding-bottom: 40px;}
	.matter-list .item .tit{ padding: 15px 30px 15px 40px; font-size: 16px; line-height: 20px; }
	.matter-list .item .tit i {
		margin-top: -10px;
		border-radius: 10px;
		font-size: 12px;
		line-height: 20px;
		width: 30px;
	}
	.matter-list .item .tit:after{
		right: 0;
		margin-top: -16px;
		line-height: 30px;
		font-size: 22px;
	}
	.matter-list .item .con { padding: 20px 0 10px 40px; font-size: 14px;}
	.matter-cate .con .common-button{
		margin-top: 20px;
	}
}


.plan-main1 { border-radius: 0 160px 0 160px; background: #EFF8F6; padding: 120px 0;}
.plan-box1 { }
.plan-box1-img { float: left; width: 32%;}
.plan-box1-img img { display: block; width: 100%; border-radius: 24px;}
.plan-box1-right { float: right; width: 63%; padding-right: 120px;}
.plan-box1-info { margin-bottom: 60px;}
.plan-box1-info h3 { display: block; font-size: 24px; line-height: 28px; font-weight: 600; margin-bottom: 20px; color: #02A29B;}
.plan-box1-foot { border-radius: 40px; padding: 40px 40px 40px 270px; background: #FFFFFF; position: relative;}
.plan-box1-foot .con { position: absolute; left: 40px; top: 50%; transform: translateY(-50%);}
.plan-box1-foot .con .t { font-size: 15px; color: #666666; font-weight: 600; position: relative; padding-left: 12px;}
.plan-box1-foot .con .t::before {
    background-color: #02A29B;
    border-radius: 6px;
    content: "";
    display: block;
    height: 6px;
    width: 6px;
    position: absolute;
    left: 0;
    top: 50%;
		margin-top: -3px;
}
.plan-box1-foot .con .m { font-size: 18px; font-weight: 500;}
.plan-box1:after{ display: block; content: ''; clear: both;}

@media all and (max-width: 960px) {
	.plan-main1 { border-radius: 0 80px 0 80px; padding: 60px 0;}
	.plan-box1-img { float: none; width: auto; margin-bottom: 20px;}
	.plan-box1-img img { border-radius: 10px;}
	.plan-box1-right { float: none; width: auto; padding-right: 0;}
	.plan-box1-info { margin-bottom: 20px;}
	.plan-box1-info h3 { font-size: 18px; line-height: 22px; margin-bottom: 10px; }
	.plan-box1-foot { border-radius: 20px; padding: 30px 20px; }
	.plan-box1-foot .con { position: relative; left: auto; top: auto; transform: none; margin-bottom: 10px;}
	.plan-box1-foot .con .t { font-size: 14px; }
	.plan-box1-foot .con .m { font-size: 14px; }
}

.plan-box2 { display: flex; align-items: center;}
.plan-box2-info { width: 55%; padding-right: 15%; }
.plan-box2-info .item { padding: 40px 0;}
.plan-box2-info .item .t { margin-bottom: 30px; position: relative; padding-left: 40px; font-size: 24px; line-height: 30px; font-weight: 600;}
.plan-box2-info .item .t i { font-style: normal; font-family: 'Fangyuan'; position: absolute; left: 0; top: 0; color: #02A29B; }
.plan-box2-info .item .m { padding-left: 40px;}
.plan-box2-img { width: 40%;}
.plan-box2-img img { display: block; width: 100%; border-radius: 24px;}

@media all and (max-width: 960px) {
.plan-box2 { display: block; }
.plan-box2-info { width: 100%; padding-right: 0; margin-bottom: 10px; }
.plan-box2-info .item { padding: 20px 0;}
.plan-box2-info .item .t { margin-bottom: 10px; padding-left: 30px; font-size: 18px; line-height: 20px; }
.plan-box2-info .item .m { padding-left: 30px;}
.plan-box2-img { width: 100%;}
.plan-box2-img img { border-radius: 10px;}
}


.what-list { margin-left: 60px; padding-bottom: 120px;}
.what-list .item { }
.what-list .item_m{ display: block; border-bottom: 1px #E6E6E6 solid; position: relative; padding: 40px 60px; font-size: 20px; line-height: 30px; font-weight: 500; cursor: pointer;}
.what-list .item_m i {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -12px;
	font-family: 'DIN';
	font-weight: 500;
	display: inline-block;
	background-color: #02A29B;
	border-radius: 12px;
	color: #fff;
	font-size: 14px;
	line-height: 24px;
	width: 40px;
	font-style: normal;
	text-align: center;
}
.what-list .item_m:after{
	display: block;
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -5px;
	width: 15px;
	height: 10px;
	background: url(../img/common/arrow4.svg) center center no-repeat;
	background-size: contain;
}


@media all and (max-width: 960px) {
	.what-list { margin-left: 0; padding-bottom: 60px;}
	.what-list .item_m{ padding: 15px 30px 15px 40px; font-size: 16px; line-height: 20px; }
	.what-list .item_m i {
		margin-top: -10px;
		border-radius: 10px;
		font-size: 12px;
		line-height: 20px;
		width: 30px;
	}
}

.history-list { position: relative; overflow: hidden;}
.history-list .swiper-slide { width: auto;}
.history-list .item { position: relative; padding: 20px 120px 0 0; }
.history-list .item:before { position: absolute; display: block; content: ''; top: 6px; left: 0; right: 0; height: 1px; background: #E6E6E6; }
.history-list .item:after { position: absolute; display: block; content: ''; top: 0; left: 0; width: 12px; height: 12px; border-radius: 100%; background: #02A29B; }
.history-list .item .tit{ font-size: 28px; line-height: 42px; font-family: 'DIN'; font-weight: 700;}
.history-list .item .con { font-size: 14px; line-height: 30px; color: #666666;}
.history-list .item .info { padding-top: 30px; font-size: 16px; line-height: 28px; white-space: nowrap;}

@media all and (max-width: 960px) {
	.history-list { margin-right: -20px; }
	.history-list .item { padding: 20px 50px 0 0; }
	.history-list .item:before { top: 4px; }
	.history-list .item:after { width: 9px; height: 9px; }
	.history-list .item .tit{ font-size: 18px; line-height: 32px; }
	.history-list .item .con { font-size: 12px; line-height: 26px; }
	.history-list .item .info { padding-top: 10px; font-size: 14px; line-height: 22px; }
}

.gallery-list { position: relative; overflow: hidden;}
.gallery-list .swiper-slide { width: auto;}
.gallery-list .img { overflow: hidden; }
.gallery-list .img img{ display: block; height: 400px; transform: scale(1); transition: transform 0.2s;}
.gallery-list .img:hover img { transform: scale(1.06); }

@media all and (max-width: 960px) {
	.gallery-list { margin-right: -20px; }
	.gallery-list .img img{ height: 50vw; }
}

.about-foot { border-radius: 0 160px 160px 0; background-color: #FDFAE8; padding: 120px 0 100px 0;}

.about-flist { margin: 0 -30px;}
.about-flist .item { float: left; width: 25%;}
.about-flist .item-m { display: block; margin: 0 30px; padding-bottom: 20px;}
.about-flist .item-m .img { position: relative; padding-bottom: 75%; width: 100%; border-radius: 16px; overflow: hidden;}
.about-flist .item-m .img img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.about-flist .item-m .con { padding-top: 16px;}
.about-flist .item-m .con .t { position: relative; padding-left: 16px; font-size: 24px; line-height: 36px; font-weight: 600;}
.about-flist .item-m .con .t:before { display: block; content: ''; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; border-radius: 50%; margin-top: -3px; background: #02A29B;}
.about-flist .item-m .con .m { padding-left: 16px; font-size: 12px; line-height: 20px; font-weight: 500;}
.about-flist .line { padding: 30px 30px; clear: both;}
.about-flist .line:after { display: block; content: ''; height: 1px; background: #E6E6E6;}
.about-flist:after { display: block; content: ''; clear: both;}

@media all and (max-width: 960px) {
	.about-foot { border-radius: 0 60px 60px 0; padding: 40px 0 30px 0; }
	.about-flist { margin: 0 -10px;}
	.about-flist .item { float: left; width: 50%;}
	.about-flist .item-m { margin: 0 10px; padding-bottom: 20px;}
	.about-flist .item-m .img { border-radius: 10px; }
	.about-flist .item-m .con { padding-top: 10px;}
	.about-flist .item-m .con .t { padding-left: 12px; font-size: 16px; line-height: 26px; }
	.about-flist .item-m .con .m { padding-left: 12px; font-size: 12px; line-height: 18px; }
	.about-flist .line { display: none;}
}

.contact-box { border-top: 1px #E6E6E6 solid;}
.contact-box .item { border-bottom: 1px #E6E6E6 solid; padding: 40px 0 40px 340px; font-size: 16px; line-height: 2; position: relative;}
.contact-box .item .tit { position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.contact-box .item .map-box { border-radius: 12px; overflow: hidden; height: 400px; margin-top: 26px; position: relative; z-index: 1; }
.contact-box .item .map-box iframe { display: block; width: 100%;}

@media all and (max-width: 960px) {
	.contact-box .item { padding: 20px 0; font-size: 14px; }
	.contact-box .item .tit { position: relative; left: auto; top: auto; transform: none; font-weight: bold;}
	.contact-box .item .map-box { height: 50vw; margin-top: 16px; }
}


.etip_main { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 9999990;}
.etip_main .bg { position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 9999991; background: rgba(0, 0, 0, 0.5); }
.etip { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); background: #fff; min-width: 300px; border-radius: 30px; padding: 40px; z-index: 9999992;}
.etip .clo { position: absolute; right: -40px; top: -40px; width: 50px; height: 50px; background: url(../img/common/clo.svg) center center no-repeat; background-size: 30px auto; cursor: pointer;}
.etip .clo:hover { opacity: 0.7;}
.etip .tit { text-align: center; font-size: 20px; margin-bottom: 10px;}
.etip .con { text-align: center; font-size: 18px;}

.etips { position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%); background: url(../img/common/tips.svg) 20px center no-repeat #4d4d4d; background-size: 18px auto; color: #fff; border-radius: 16px; padding: 16px 0 16px 44px; width: 122px; height: 48px; font-size: 14px; line-height: 16px; z-index: 9999992; }