@charset "UTF-8";
/* ------------------------*****
  reset
******------------------------ */
*, :after, :before { box-sizing: border-box; }
:after, :before { text-decoration: inherit; vertical-align: inherit; }
:root{
	--font_xl  : 22px;
	--font_l   : 18px;
	--font_m   : 16px;
	--font_s   : 14px;
	--font_xs  : 12px; }

html {
	cursor: default;
	line-height: 1.5;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-tap-highlight-color: transparent;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-break: break-word; }
body { margin: 0; }
h1 { font-size: 2em; margin: .67em 0; }
dl dl, dl ol, dl ul, ol dl, ol ol, ol ul, ul dl, ul ol, ul ul {
	-webkit-margin-before: 0;
	margin-block-start: 0;
	-webkit-margin-after: 0;
	margin-block-end: 0; }
hr { height: 0; overflow: visible; }
main { display: block; }
nav ol, nav ul { list-style: none; padding: 0; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
img { border-style: none; }
svg:not([fill]) { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
button, input, select { margin: 0; }
button { overflow: visible; text-transform: none; }
[type=button], [type=reset], [type=submit], button { -webkit-appearance: button; }
fieldset { padding: .35em .75em .625em; }
input { overflow: visible; }
legend { color: inherit; display: table; max-width: 100%; white-space: normal; }
progress { display: inline-block; vertical-align: baseline; }
select { text-transform: none; }
textarea { margin: 0; overflow: auto; resize: vertical; }
[type=checkbox], [type=radio] { padding: 0; }
[type=search] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
::-webkit-input-placeholder { color: inherit; opacity: .54; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
::-moz-focus-inner { border-style: none; padding: 0; }
:-moz-focusring { outline: 1px dotted ButtonText; }
:-moz-ui-invalid { box-shadow: none; }
details, dialog { display: block; }
dialog {
	background-color: #fff;
	border: solid;
	color: #000;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	left: 0;
	margin: auto;
	padding: 1em;
	position: absolute;
	right: 0;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}
dialog:not([open]) { display: none; }
summary { display: list-item; }
canvas { display: inline-block; }
template { display: none; }
[tabindex], a, area, button, input, label, select, summary, textarea { touch-action: manipulation; }
[aria-busy=true] { cursor: progress; }
[aria-controls] { cursor: pointer; }
[aria-disabled=true], [disabled] { cursor: not-allowed; }
[aria-hidden=false][hidden] { display: initial; }
[aria-hidden=false][hidden]:not(:focus) { clip: rect(0, 0, 0, 0); position: absolute; }

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, main, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section { display: block; }
[hidden] { display: none; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:after, blockquote:before, q:after, q:before { content: ""; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

/* ------------------------*****
  animation
******------------------------ */
@keyframes rotate { 0% { transform: rotate(0deg) } to { transform: rotate(359deg) } }
@keyframes rotate-45 { 0% {transform: rotate(0deg) translateZ(0) } to { transform: rotate(45deg) translateZ(0) } }
@keyframes shake {
	0% { transform: rotate(0deg) }
	2.5% { transform: rotate(5deg) }
	5% { transform: rotate(-10deg) }
	7.5% { transform: rotate(15deg) }
	10% { transform: rotate(-10deg) }
	12.5% { transform: rotate(5deg) }
	15% { transform: rotate(0deg) }
	to { transform: rotate(0deg) }
}
@keyframes float { 0% { transform: translateZ(0) } 50% { transform: translate3d(-50px, 0, 0) } to { transform: translateZ(0) } }
@keyframes float-reverse { 0% { transform: translateZ(0) } 50% { transform: translate3d(50px, 0, 0) } to { transform: translateZ(0) } }
@keyframes point {
	0% { transform: translateZ(0) } 50% { transform: translate3d(0, 50%, 0) } to { transform: translateZ(0) } }


/* ------------------------*****
  common
******------------------------ */
body {
	font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\6E38\30B4\30B7\30C3\30AF   Medium", Yu Gothic Medium, "\6E38\30B4\30B7\30C3\30AF", Yu Gothic, sans-serif;
	color: #fff; width: 100%; min-width: 375px; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea {
	padding: 0; border: 0; border-radius: 0; outline: none;
	background: none; appearance: none;
	font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\6E38\30B4\30B7\30C3\30AF   Medium", Yu Gothic Medium, "\6E38\30B4\30B7\30C3\30AF", Yu Gothic, sans-serif; line-height: 1; }
dt { display: block; }
img, svg, video { display: block; width: 100%; height: auto; }
use { pointer-events: none;}
.cf:after, .cf:before { content: ""; display: table; }
.cf:after { clear: both; }
.cf { zoom: 1; }
a[href^="tel:"] { text-decoration: underline; }
body, html {
	min-height: 0 !important;
	height: auto !important;
	position: inherit !important; }
.translation-en { display: none; }
.translated-ltr .translation-en { display: inline-block; margin: 0 2px; }
.translated-ltr .information-item .translation-en { text-decoration: underline; }

.svg-sprite, .translated-ltr .translation-ja { display: none;}
[data-object-fit=cover] { object-fit: cover; }
[data-object-position="center center"] { object-position: center center; }
.body-inner { position: relative; overflow-x: hidden; }

@media (min-width:768px) { 
	body { min-width: 1200px }
	a[href^="tel:"] { pointer-events: none; text-decoration: none }
	.translated-ltr .information-item .translation-en { text-decoration: none}
}


/* ------------------------
  header
------------------------ */
             .header { position: fixed; top: 0; left: 0; z-index: 10; width: 100%; min-width: 375px; padding: 0; background: #8b1129; }
.is-open-nav .header { height: 100%; text-align: center; overflow-x: hidden; overflow-y: scroll; transition: all .3s; }
.is-open-nav .header .header-inner { padding-top: 57px; padding-bottom: 50px; background: rgba(0,0,0,.8); transition: all .3s;}
             .header-sns { display: none;  text-align: center; margin-bottom: 32px; position: relative; }
.header-sns img { display: inline; max-width: 26px; vertical-align: middle; }
.is-open-nav .header-sns { display: inline-block; }

@media (min-width:768px) {
	.is-open-nav .header { height: auto; }
	.header-inner { max-width: 1200px; margin: 0 auto; min-width: 1090px; }
	.header-sns { position: relative; float: left; display: flex; align-items: center; margin-bottom: 0; height: 70px; }
	.header-sns:before { content: ""; display: block; width: 46px; height: 1px; background-color: #b48a76; }
}

.header-sns-text { font-size: 15px; font-weight: 700; letter-spacing: 0; color: #fff; margin-top: 46px; white-space: nowrap; }
             .header-nav { display: none; margin-bottom: 60px; }
.is-open-nav .header-nav { display: block; }
.header-sns-text a { text-decoration: underline; margin: 0 5px;}
.header-sns-text,
.header a { filter: drop-shadow(1px 2px 3px #222); }


@media (min-width:768px) {
	.header-sns-text { margin-left: 10px; margin-top: 0; font-size: 16px; }
	.is-open-nav .header-nav { display: none; }
                 .header-nav { float: right; display: flex; height: 70px; margin-bottom: 0; align-items: center; }
}
@media (min-width:768px) {
	.header-nav-item:before { background-color: #fff; }
	.header-sns:before { content: ""; background-color: #b48a76; }
	.translated-ltr .header-sns::before { display: none; }
	.translated-ltr .header-sns-text { font-size: 14px;}
	.translated-ltr .header-sns-text font { margin-left: 5px; }
}


.header-nav-heading { width: 150px; margin: 0 auto 8px; color: #fff; }
.header-nav-list { margin-bottom: 16px; }
.header-nav-text { text-transform: capitalize; font-size: 18px; font-weight: 700; letter-spacing: 0; color: #fff; line-height: 2.6; transition: opacity .3s; }
.header-nav-text:hover { opacity: .5; }
.header-translation { margin: 0 auto; display: flex; justify-content: center; }
.header-translation a.glink { transition: opacity .3s; display: inline-block; border: 2px solid #fff; border-radius: 14px; margin: 0 auto; padding: 5px 28px; font-size: 13px; font-weight: 700; }
.header-translation a.glink:hover { opacity: .5; }
.header-translation a.glink:first-child { display: block; }
.header-translation a.glink:nth-child(2), .translated-ltr .header-translation a.glink:first-child { display: none; }
.translated-ltr .header-translation a.glink:nth-child(2) { display: block; }
             .header-bottom-button { display: none; text-align: center; }
.is-open-nav .header-bottom-button { display: block; }
.header-bottom-button-item {
	width: 158px; padding: 8px 0;
	color: #fff; background-color: #000;
	font-size: 14px; font-weight: 700; letter-spacing: 1.1px; text-decoration: underline;
	transition: color .3s; }
.header-bottom-button-item:hover { color: hsla(0, 0%, 100%, .5); }
.is-open-nav .header-bottom-button-item { display: inline-block; }

@media (min-width:768px) {
	.header-nav-heading {display: none; }
	.header-nav-list { display: flex; align-items: center; margin-bottom: 0; margin-right: 20px; }
	.header-nav-item:first-child:before { content: none; }
	.header-nav-item { position: relative; display: flex; align-items: center; margin-left: 36px; }
	.header-nav-item:before {
		content: "";
		position: absolute; top: 50%; left: -20px;
		transform: translate3d(0, -50%, 0);
		display: block; width: 3px; height: 100%;
		background-color: #fff; }
	.header-nav-text { font-size: 20px; line-height: 1; margin: 0 -9px; }
	.header-nav-text font { font-size: 14px; }
	.header-translation a.glink { padding: 4px 10px; border-width: 1px; font-size: 11px; }
	.header-bottom-button-item { display: none; }
}

.toggle-button-wrapper {
	background-color: #2f2f2f;
	position: fixed;
	width: 32px;
	height: 32px;
	right: 9px;
	top: 18px;
	z-index: 11; }
[data-view=page-summer2019] .toggle-button-wrapper, [data-view=page-winter2019] .toggle-button-wrapper { opacity: 0; }
.is-show-page .toggle-button-wrapper { opacity: 1; }
.is-loaded .toggle-button-wrapper { transition: opacity 1s ease-out 1s; opacity: 1; }

.toggle-button {
	position: fixed; right: 15px; top: 26px;
	width: 20px; height: 15px;
	cursor: pointer; }
@media (min-width:768px) {
	.toggle-button-wrapper { display: none; }
	.toggle-button { display: none; }
}
.toggle-button-line {
	position: absolute; left: 0;
	width: 100%; height: 1px;
	background-color: #fff; text-indent: 100%; white-space: nowrap;
	transition: all .3s ease-out;
	overflow: hidden; }
.toggle-button-line:first-of-type { top: 0; }
.toggle-button-line:nth-of-type(2) { top: 7px; }
.toggle-button-line:nth-of-type(3) { bottom: 0; }
.is-open-nav .toggle-button-line:first-of-type { transform: translateY(8px) rotate(-45deg); top: -1px; }
.is-open-nav .toggle-button-line:nth-of-type(2) { opacity: 0; }
.is-open-nav .toggle-button-line:nth-of-type(3) { transform: translateY(-8px) rotate(45deg); bottom: -1px; }


/* ------ breadcrumb ------ */
.breadcrumb-nav { margin-bottom: 15px; z-index: 2; position: relative; }
.breadcrumb { display: flex; padding: 0 30px; }
.breadcrumb-item { font-size: 10px; letter-spacing: -.3px; color: #000; }
.breadcrumb-item:after { content: ">"; font-size: 10px; margin-right: 4px; }
.breadcrumb-item:last-child:after { display: none; }
.breadcrumb-item-anc { display: inline-block; color: #000; text-decoration: underline; line-height: 1.1; }

@media (min-width:768px) {
	.breadcrumb-nav { width: 1200px; margin: 0 auto 27px; }
	.breadcrumb { padding: 0; }
	.breadcrumb-item { font-size: 14px; letter-spacing: .8px; }
	.breadcrumb-item:after { font-size: 14px; }
	.breadcrumb-item-anc { text-decoration: none; }
}


/* section title (h2) */
.about-heading-body,
.data-heading-body,
.outline-heading-body,
.program-heading-body,
.map-heading-body,
.sponsor-heading-body,
.link-heading,
.past-heading,
.recruitment-heading-body { width: 100%; height: auto; margin: auto; position: relative; z-index: 1 }


@media (min-width:768px) {
	.about-heading-body,
	.data-heading-body,
	.outline-heading-body,
	.program-heading-body,
	.map-heading-body,
	.sponsor-heading-body,
	.link-heading,
	.past-heading,
	.recruitment-heading-body { width: 883px; margin: 0 auto; }
}



/* -------------------------
  .back-button
------------------------- */
.back-button {
	position: fixed; right: 20px; bottom: 20px; z-index: 10;
	opacity: 0; transition: opacity .3s;
	width: 79px; height: 71px; }
.is-show-back-button .back-button { opacity: 1; pointer-events: auto; }
.back-button-item { display: block; transition: transform .3s; }
.back-button-item:hover { transform: scale(.95); }



/* ------------------------
  footer
------------------------ */
.footer { padding: 32px 13px 14px; color: #fff; background: #8b1129; }
.footer-term { font-size: 16px; font-weight: 700; letter-spacing: 1.5px; }
.footer-desc { margin-top: 23px; }
.footer-desc-text { margin-bottom: 11px; font-size: 18px; font-weight: 700; line-height: 1.6; letter-spacing: 1.1px; }
.footer-link-text { font-size: 18px; font-weight: 700; line-height: 2; letter-spacing: 1.1px; text-decoration: underline; transition: opacity .3s; }
.footer-link-text:hover { opacity: .7; }
.footer-copyright { margin-top: 23px; padding: 0; font-size: 11px; letter-spacing: .8px; text-align: center; line-height: 1.5; }
.is-open-nav footer, .is-open-nav main { height: 0; }

@media (min-width:768px) {
	.footer-inner { display: flex; align-items: flex-end; padding: 40px calc(50% - 440px) 0; }
	.footer-term { font-size: 20px; }
	.translated-ltr .footer-term { font-size: 16px; }
	.footer-desc { display: flex; align-items: flex-end; margin-top: 22px; }
	.footer-desc-text { width: 330px; line-height: 2; font-size: 14px; }
	.translated-ltr .footer-desc-text { font-size: 11px; }
	.footer-link { display: block; margin-left: 60px; }
	.footer-link-text { font-size: 14px; text-decoration: none; }
	.translated-ltr .footer-link-text { font-size: 11px; }
	.footer-copyright-sp { display: none; }
}




@supports (-ms-ime-align:auto) {
	body { position: static; }
}
_:-ms-lang(x)::-ms-backdrop, body { position: static; }
body { position: fixed; }
body.is-loaded { transition: background-color 1s ease-out 1s; }
body.is-loaded, body.is-show-page { position: static; }
body.is-show-page { opacity: 1; }


body[data-view*="single-year"] .body-inner { padding-top: 65px; }
@media (min-width:768px) {
	body[data-view*="single-year"] .body-inner { padding-top: 94px; }
}
main.single { padding-top: 65px; background: #f5d3dc; }
@media (min-width:768px) {
	main.single { padding-top: 94px; }
}



/* ------------------------
  top page only
------------------------ */

/* -------------------------
  .mv
------------------------- */
.mv { position: relative; height: 80vh; background: url(../images/mv-bg.jpg) repeat center center / 990px auto; }
.mv h1 {
	width: 60%; margin: auto; padding-top: calc(50vh - 50%); position: absolute; left: 0; right: 0; z-index: 2;
	opacity: 0; transition: opacity 1.5s, transform .9s; transform: scale(0.1);}
	.is-show-page .mv h1 { opacity: 1; transform: scale(1); }

@media (min-width:768px) {
	.mv { height: 517px; padding-top: 70px; margin-bottom: 0; overflow: hidden; background-size: initial;}
	.mv h1 { width: 356px; margin: auto; padding-top: 0;  }
}

.mv-decoration-1,
.mv-decoration-2,
.mv-decoration-3,
.mv-decoration-4,
.mv-decoration-5,
.mv-decoration-6,
.mv-decoration-7,
.mv-decoration-8,
.mv-decoration-9,
.mv-decoration-10,
.mv-decoration-11,
.mv-decoration-12 { position: absolute; opacity: 0; }

.mv-decoration-1  { width: 29vw; height: auto; top: -2%; left:  -7vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.8s, transform 0.9s 0.9s; animation: rotate 120s  3.3s infinite; }
.mv-decoration-2  { width: 20vw; height: auto; top: 14%; left:   6vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.8s, transform 0.9s 0.9s; animation: rotate 125s  3.2s infinite; }
.mv-decoration-3  { width: 23vw; height: auto; top: 34%; left:  -2vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.8s, transform 0.9s 0.9s; animation: shake 150s  3.1s infinite; }
.mv-decoration-4  { width: 16vw; height: auto; top: 27%;  left: 80vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.5s, transform 0.5s 0.6s; animation: shake  4.5s  2.7s infinite; }
.mv-decoration-5  { width: 16vw; height: auto; top: 63%;  left:  4vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.3s, transform 0.5s 0.4s; animation: shake  5.8s  3.1s infinite; }
.mv-decoration-6  { width: 15vw; height: auto; top:  5%;  left: 40vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.6s, transform 0.5s 0.7s; animation: shake    6s  3.8s infinite; }
.mv-decoration-7  { width: 17vw; height: auto; top: 11%; right: 11vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.5s, transform 0.5s 0.6s; animation: shake  6.1s  3.6s infinite; }
.mv-decoration-8  { width: 14vw; height: auto; top: 80%; right: 42vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.6s, transform 0.5s 0.8s; animation: shake  7.7s  3.2s infinite; }
.mv-decoration-9  { width: 23vw; height: auto; top: 76%; right: 66vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.5s, transform 0.5s 0.6s; animation: shake    6s  3.5s infinite; }
.mv-decoration-10 { width: 20vw; height: auto; top: 59%; right:  1vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.8s, transform 0.5s 0.9s; animation: shake  126s 3.4s infinite; }
.mv-decoration-11 { width: 21vw; height: auto; top: 77%; right: 14vw; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.8s, transform 0.8s 0.9s; animation: rotate  130s 3.1s infinite; }
.mv-decoration-12 { width: 14vw; height: auto; top: 69%; right:   5%; opacity: 0; transform: scale(0.01); transition: opacity .3s 0.8s, transform 0.7s 0.9s; animation: rotate  108s 3.3s infinite; }

.is-show-page .mv-decoration-1 ,
.is-show-page .mv-decoration-2 ,
.is-show-page .mv-decoration-3 ,
.is-show-page .mv-decoration-4 ,
.is-show-page .mv-decoration-5 ,
.is-show-page .mv-decoration-6 ,
.is-show-page .mv-decoration-7 ,
.is-show-page .mv-decoration-8 ,
.is-show-page .mv-decoration-9 ,
.is-show-page .mv-decoration-10,
.is-show-page .mv-decoration-11,
.is-show-page .mv-decoration-12 { opacity: 1; transform: scale(1); }

@media (min-width:768px) {
	.mv-decoration-1  { top: 242px;  left: calc(50% - 708px); width: 150px; height:auto;}
	.mv-decoration-2  { top: 271px;  left: calc(50% - 910px); width: 230px; height:auto;}
	.mv-decoration-3  { top: 112px;  left: calc(50% - 760px); width: 132px; height:auto;}
	.mv-decoration-4  { top:  48px;  left: calc(50% - 420px); width:  88px; height:auto;}
	.mv-decoration-5  { top: 353px;  left: calc(50% - 500px); width: 112px; height:auto;}
	.mv-decoration-6  { top: 259px;  left: calc(50% - 313px); width:  78px; height:auto;}
	.mv-decoration-7  { top:  60px; right: calc(50% - 333px); width: 116px; height:auto;}
	.mv-decoration-8  { top:  40px; right: calc(50% - 570px); width: 123px; height:auto;}
	.mv-decoration-9  { top: 200px; right: calc(50% - 453px); width: 226px; height:auto;}
	.mv-decoration-10 { top: 340px; right: calc(50% - 603px); width: 129px; height:auto;}
	.mv-decoration-11 { top:  18px; right: calc(50% - 880px); width: 206px; height:auto;}
	.mv-decoration-12 { top: 143px; right: calc(50% - 760px); width: 155px; height:auto;}
}

/* -------------------------
  .information
------------------------- */
.information {
	position: relative;
	background-color: #f9f9f6;
	padding: 10px 15px 100px;
}
@media (min-width:768px) {
	.information { padding: 45px calc(50% - 415px) 60px; }
}
.is-loaded .information { transition: background-color 1s ease-out 1s; }
.is-loaded .information ~ section { opacity: 1; pointer-events: auto; }
.is-show-page .information { border-top: 18px solid #8b1129; }
.is-show-page .information ~ section { transition: opacity 0s 0s; opacity: 1; pointer-events: auto; }
.is-count0 .information { z-index: 2; }
.information-heading { opacity: 0; pointer-events: none; width: 300px; margin: 12px auto 20px; height: auto; }
.is-loaded .information-heading { transition: opacity .6s .75s; opacity: 1; pointer-events: auto; }
.is-show-page .information-heading { opacity: 1; pointer-events: auto; }
.information-list { opacity: 0; pointer-events: none; min-height: 115px; margin: 20px auto; }
.is-loaded .information-list { transition: opacity .6s .75s, height .2s ease-out;}
.is-loaded .information-list,
.is-show-page .information-list { opacity: 1; pointer-events: auto; }
.information-item:not(:first-child) { padding-top: 1em; }
.information-item:nth-child(n+4) { pointer-events: none; }
.is-active .information-item:nth-child(n+4) { pointer-events: auto; }
.information-item-inner { position: relative; }
.information-item-inner[data-badge]:before {
	content: attr(data-badge);
	position: absolute; top: 0;
	display: block; width: 45px;
	font-size: 10px; font-weight: 700; line-height: 13px; letter-spacing: 0; white-space: nowrap; text-align: center; }
.is-show-link .information-item-inner:hover:before { opacity: .5; }
.information-item-inner[data-badge=NEW]:before, .information-item-inner[data-badge=重要]:before { transition: opacity .3s; color: #fff; background-color: #d50038; }
.information-item-inner[data-badge=お知らせ]:before { transition: opacity .3s; color: #fff; background-color: #2d4a84; }
.information-item-link { transition: opacity .3s; display: block; }
.information-item-link:hover { opacity: .5; }
.information-item-detail { display: block; font-weight: bold; }
.information-item-date { width: 100%; padding: 1px 0 1px 54px; font-size: 10px; letter-spacing: -.7px; color: #262626; }
.information-item-heading { padding: 3px 0; font-size: 10px; line-height: 14px; letter-spacing: .4px; color: #262626; }
.information-item-link .information-item-heading { text-decoration: underline; }
.information-list:not(.is-active) .information-item:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) { display: none; }
.information-list.is-active { overflow: auto; margin-bottom: 50px; }
.information-list.is-active .information-item:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) { transition: border-top-width .45s; }
.information-list.is-active .information-item:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) .information-item-inner[data-badge]:before { transition: line-height .45s, opacity 225ms ease 225ms; }
.information-list.is-active .information-item:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) .information-item-date,
.information-list.is-active .information-item:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) .information-item-heading { transition: line-height .45s, padding .45s, opacity 225ms ease 225ms; }
.information-button { display: flex; justify-content: flex-end; opacity: 0; pointer-events: none; }
.is-loaded .information-button { transition: opacity .6s .75s; opacity: 1; pointer-events: auto; }
.is-show-page .information-button { transition: opacity 0s 0s; opacity: 1; pointer-events: auto; }
.information-button-inner { display: flex; align-items: center; cursor: pointer; transition: visibility .3s ease .15s; margin-top: 0; }
.information-button-text { font-size: 10px; letter-spacing: .4px; color: #e7425c; transition: opacity .3s; text-decoration: underline; }
.information-button-close { display: none; }
.information-button-icon { width: 9px; height: 6px; margin-left: 12px; transition: opacity .5ms; }
.is-active .information-button-icon img  {transform: rotate(180deg);}
.information-button-inner.is-active { opacity: 1; visibility: visible; }
.information-button-inner.is-active .information-button-close { display: block; }
.information-button-inner.is-active .information-button-open { display: none; }
.information-button-inner.is-active .information-button-arrow { transform: scaleY(-1); }


@media (min-width:768px) {
	.information-heading { width: 308px; margin: 0 auto; height: 50px; }
	.information-list { min-height: 82px; margin-bottom: 0; padding: 0 0 0 90px; }
	.information-item { padding-top: 0;padding-left: 0; }
	.information-item-inner[data-badge]:before {
		top: 0.85em; left: -90px; width: 78px;
		font-size: 14px; line-height: 18px; letter-spacing: 1.1px;
		transform: translate3d(0, -50%, 0); }
	.information-item-detail { position: relative; display: flex; justify-content: space-between; }
	.information-item-date { width: 8em; padding: 1px 0; font-size: 16px; line-height: 20px; }
	.information-item-link .information-item-heading { text-decoration: none; }
	.information-item-heading {
		width: 640px; padding: 1px 0 1px 10px;
		font-size: 16px; line-height: 20px; }
	.information-list.is-active { margin-bottom: 25px; }
	.information-button-inner { transition: opacity .3s ease .15s; margin-top: 16px; }
	.information-button-text { font-size: 14px; text-decoration: none; }
	.information-button-inner:hover .information-button-icon, .information-button-inner:hover .information-button-text { opacity: .5; }
}


/* -------------------------
  .report
------------------------- */
.report { position: relative; transition: opacity 0ms .75s; opacity: 0; pointer-events: none; padding-bottom: 90px; background: #f5d3dc; }
.report ~ section { transition: opacity 0ms .75s; opacity: 0; pointer-events: none; }
.report-heading { position: absolute; top: -90px; left: calc(50% - 80px); width: 160px; height: auto; z-index: 2; }
.report-intro { box-sizing: content-box; width: 150px; height: auto; margin: 0 auto 70px; padding-right: 190px; position: relative; z-index: 1; top: 90px; }
.report-intro-pc { display: none; }
.report-sns { margin: 0 auto; width: 326px; position: relative; z-index: 2; top: 40px; }
.report-sns-widget { height: 345px; width: 100%; overflow: auto; }
.report-sns-link { transition: transform .3s; margin: 18px auto 60px; display: block; }
.report-sns-link:hover { transform: scale(1.1); }
.report-sns-text { width: 100%; height: 30px; padding: 0 10px; text-shadow: 1px 1px 3px #000; }
.report-sns-text img { height: auto; }
.twitter-timeline { color: #8b1129;}
.report-voice { position: absolute; top: -120px; right: calc(50% - 170px); width: 150px; height: auto; color: #000; }
.report-decoration-01 { position: absolute; top: -227px; right: calc(50% - 170px); width: 18%; height: auto; color: #000; }
.report-decoration-02 { position: absolute; top: -221px; right: calc(50% + 100px); width: 25%; height: auto; color: #000; }

@media (min-width:768px) {
	.report { padding-bottom: 270px; z-index: 2; }
	.report-bg { height: 480px; }
	.report-heading { position: absolute; top: 130px; left: calc(50% - 638px); width: 194px; height: auto; }
	.report-intro { top: -30px; width: 726px; height: 59px; margin: 0 auto; padding-right: 0; }
	.report-intro-sp { display: none; }
	.report-intro-pc { display: block; }
	.report-sns { display: flex; justify-content: space-between; width: 730px; top: 40px; }
	.report-sns-inner { width: 344px; }
	.report-sns-widget {}
	.report-sns-link { display: block; width: 280px; margin: 26px auto 0; }
	.report-sns-text { width: 290px; height: 40px; padding: 0; }
	.report-voice { top: 30px; right: calc(50% - 700px); width: 220px; height: auto; transform: translate3d(-50%, 0, 0); }
	.report-decoration-01 { top: 340px;  left: calc(50% - 670px); width:  78px; height: auto; transform: translate3d(-50%, 0, 0); }
	.report-decoration-02 { top: 320px; right: calc(50% - 738px); width: 132px; height: auto; transform: translate3d(-50%, 0, 0); }
}

.report-decoration {
	position: absolute; top: 150px; left: calc(50% - 870px);
	width: 281px; height: 53px;
	transition: transform 2s 2.61s, opacity 2s 2.61s;
	transform: translate3d(87.3015873px, -50%, 0);
	opacity: 0 }
.report-decoration2 {
	position: absolute; top: -19px; right: calc(50% - 930px);
	width: 444px; height: 84px;
	transition: transform 2s 3.61s, opacity 2s 2.61s;
	transform: translate3d(87.3015873px, -50%, 0);
	opacity: 0 }
.is-loaded .report-decoration ,
.is-loaded .report-decoration2 { transform: translate3d(0, -50%, 0); opacity: 1 }
.is-show-page .report-decoration,
.is-show-page .report-decoration2 {
	transition: opacity 0s 0s;
	transform: translate3d(0, -50%, 0);
	opacity: 1; }
.is-show-page .report-decoration > img,
.is-show-page .report-decoration2 > img { animation: float 10s infinite }


.look-button { position: relative; height: 42px; margin: 40px 45px; border: 1px solid #000; font-size: 16px; font-weight: 700; line-height: 40px; text-align: center; cursor: pointer; color: #fff; background: #8b1129; }
.look-icon {
	position: absolute; right:20px; top: 15px; content: "";
	display: block; width: 0; height: 0;
	border: 6px solid transparent; border-top: 10px solid #fff; transition: .3s; }

.look .look-icon { transform: rotate(540deg); top: 8px; }

@media (min-width:768px) {
	.look-button { display: none; }
}

/* -------------------------
  .about
------------------------- */
.about {
	position: relative;
	z-index: 2;
	background: url(../images/bg-about.png) center top / 217px auto;
 }


.about-heading { position: relative;}
.about-heading-body { margin-top: -60px; }
.about-heading-cloud-left {
	position: absolute; left: -100vw;
	width: 439px; height: 95px;
	transition: transform 2s, opacity 2s;
	transform: translate3d(-250px, 0, 0);
	opacity: 0; }
.about-heading-cloud-left.is-active { opacity: 1; transform: translate3d(-230px, 0, 0); }
.about-heading-cloud-left.is-active > img { animation: rotate-45 25s linear infinite; }
.about-heading-cloud-right {
	position: absolute; right: -100vw;
	width: 439px; height: 95px;
	transition: transform 2s, opacity 2s;
	transform: translate(100px);
	opacity: 0; }
.about-heading-cloud-right.is-active { transform: translate(230px); opacity: 1; }
.about-heading-cloud-right.is-active > img { animation: rotate-45 25s linear infinite; }

@media (min-width:768px) {
	.about {}
	.about-heading { position: static; margin: 0 calc(50% - 713px); text-align: center; }
	.about-heading-body { margin-top: -200px;}
	.about-heading-cloud-left {
		width: 456px; height: 456px;
		transform: translate3d(-100px, 0, 0);
		bottom: 40px; left: calc(50% - 1120px); }
	.about-heading-cloud-left.is-active { transform: translateZ(0); 	}
	.about-heading-cloud-right {
		top: -40px; right: calc(50% - 890px);
		width: 265px; height: 265px;
		transform: translate(80px); }
	.about-heading-cloud-right.is-active { transform: translate(0); }
}

.about.look { overflow: visible; }

.about-inner { position: relative; z-index: 3; padding-top: 20px; padding-bottom: 20px; }
      .about-look-open { position: relative; left: -7px; }

.look .about-look-open { display: none; }
      .about-look-close { position: relative; left: -8px; display: none; }
.look .about-look-close { display: block; }
      .about-look-icon { width: 12px; height: 12px; border-radius: 50%; border: 1px solid #fff; margin-left: 30px; position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); }
.look .about-look-icon { margin-left: 35px; }
.look .about-look-arrow { transform: scaleY(-1); }
      .about-look-arrow { position: absolute; padding: 2px; }
.look .about-look-contents { height: auto; overflow: visible; position: relative; z-index: 2; }
      .about-look-contents { height: 0; overflow: hidden; transition: height 1s .3s; }
.about-text { position: relative; box-sizing: border-box;  margin: 28px 20px 54px; padding: 60px 0;
	background: rgba(255,255,255,0.8);
	font-size: 16px; font-weight: 700; line-height: 2; text-align: center; color: #000; }
.about-text:after { content:""; width: 146px; height: 153px; display: block; background: url(../images/01_whats_obj.png) no-repeat 0 0 / 100% auto; position: absolute; top: -20px; left: -28px; }

.about-text b { color: #aa3056;}
.about-advisor-profile { margin-bottom: 20px; }
.about-advisor-image { width: 230px; height: auto; margin: 0 auto; position: relative; left: 12px; }
.about-advisor-role { margin-top: 19px; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; color: #000; text-align: center; line-height: 1.2; }
.about-advisor-pic { width: 260px; margin: 19px auto 0; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; color: #000; text-align: center; line-height: 1.2; }
.about-advisor-name { margin-top: 11px; margin-bottom: 14px; font-size: 19px; font-weight: 700; letter-spacing: 2.8px; color: #000; text-align: center; }
.about-advisor-sign { width: 127px; height: auto; margin: 0 auto; }
.about-advisor-voice { position: relative; margin: 0 20px; padding: 48px 10px 40px; background: url(../images/advisor-box-line.png) no-repeat 0 0 / 100% 20px #fff; }
.about-advisor-voice:after { position: absolute; left: 0; bottom: 0; display: block; width: 100%; height: 20px; background: url(../images/advisor-box-line.png) no-repeat 0 0 / 100% 20px; content: ""; }
.about-advisor-voice-filter { display: none; }
.about-advisor-baloon { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: none; }
.about-advisor-text { font-size: 14px; font-weight: 700; line-height: 1.7; letter-spacing: 1.1px; color: #000; margin-top: 20.4px; }
.about-advisor-text:first-of-type { margin-top: 0; }
.about-object { position: absolute; right:-97px; bottom: 43px;width: 104px; height: 93px;}

@media (min-width:768px) {
	.about { overflow: visible; padding-bottom: 60px; }
	.about-inner { padding-top: 60px; }
	.about-look-contents { height: auto; overflow: visible; }
	.about-text { max-width: 960px; width: 100%; font-size: 22px; letter-spacing: 1.8px; line-height: 1.7;  margin: 28px auto 54px; }

	.about-text .translation-en { margin-left: auto; margin-right: auto; max-width: 690px; }
	.about-text-sp { display: none; }
	.about-advisor { position: relative; display: flex; justify-content: space-between; padding: 10px calc(50% - 600px)120px; }
	.about-advisor-profile {}
	.about-advisor-image { width: 210px; height: auto; margin: initial; position: absolute; left: calc(50% + 425px); top: -40px; right: 0; z-index: 2; }
	.about-advisor-role { margin-top: 30px; font-size: 14px; letter-spacing: 1.4px; color: #000; }
	.about-advisor-pic { width: 300px; margin-top: -30px; font-size: 14px; letter-spacing: 1.4px; color: #000; }
	.about-advisor-name { margin-top: 14px; font-size: 28px; color: #000; }
	.translated-ltr .about-advisor-name { font-size: 23px; }
	.about-advisor-sign { width: 193px; position: relative; left: 0; top: 4px; }
	.about-object { right:-97px; bottom: 43px;width: 104px; height: 93px;}
	.about-advisor-voice { position: relative; width: 811px; height: 407px; margin: 0; padding: 48px 34px 0; background: url(../images/advisor-box-line.png) no-repeat 0 0 / 100% 20px #fff; }
	.about-advisor-voice:before{
		position: absolute; left: -130px; top: 30%; display: block; width: 0; height: 0; content: ""; transform: skewY(27deg);
		border-top   : 23px solid transparent;
		border-bottom: 23px solid transparent;
		border-left  : 68px solid transparent;
		border-right : 68px solid #fff; }
	.about-advisor-voice:after { position: absolute; left: 0; bottom: 0; display: block; width: 100%; height: 20px; background: url(../images/advisor-box-line.png) no-repeat 0 0 / 100% 20px; content: ""; }
	.about-advisor-baloon { display: block; }
	.about-advisor-text { margin-top: 28px; font-size: 18px; line-height: 1.75; letter-spacing: 1.4px; text-align: justify; color: #000; }
	.translation-en .about-advisor-text { font-size: 15px; margin-bottom: -0.5em;}
	.about-advisor-text:first-of-type { margin-top: 0; }
}



.about-decoration-1,
.about-decoration-2,
.about-decoration-3 { position: absolute; transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.about-decoration-1 { top: 104px; left: 1px; z-index: 2; width: 50px; height: 51px; transform: translate3d(-50%, 0, 0) scale(0); }
.about-decoration-2 { top: 286px; left: calc(50% - 472px); z-index: 2; width: 75px; height: 75px; transform: translate3d(-50%, 0, 0) scale(0); }
.about-decoration-3 { top: 396px; left: calc(50% - 447px); z-index: 2; width: 73px; height: 68px; transform: translate3d(-50%, 0, 0) scale(0); }

.about-decoration-1.is-active,
.about-decoration-2.is-active,
.about-decoration-3.is-active { transform: translate3d(-50%, 0, 0) scale(1); }

.about-decoration-1.is-active > img, .about-decoration-1.is-active > svg { animation: shake 6s 2s infinite; }
.about-decoration-2.is-active > img, .about-decoration-2.is-active > svg { animation: rotate 200s infinite; }
.about-decoration-3.is-active > img, .about-decoration-3.is-active > svg { animation: rotate 200s infinite; }

@media (min-width:768px) {
	.about-decoration-1 { top: 840px; left: calc(50% - -750px); width: 110px; height: 94px; }
	.about-decoration-2 { top: 80px; left: calc(50% - -580px); z-index: 2; width: 178px; height: 178px; }
	.about-decoration-3 { top: 420px; left: calc(50% - 650px); z-index: 10; width: 247px; height: 247px; }
}



/* -------------------------
 .program
------------------------- */
.program { position: relative; background: #8b1129; padding: 10px 0; }

.program-heading { position: relative; padding-top: 20px; }

@media (min-width:768px) {
	.program { padding: 0 0 300px; }
	.program-heading { margin: 0 calc(50% - 648px) -130px; padding-top: 0; }
	.program-heading-body { top: -150px; z-index: 2; }
}
.program-image { position: relative; width: 100%; background-size: cover; transition: opacity .5s; }
.program-image img { height: auto; }

.program-object1,
.program-object2,
.program-object3,
.program-object4,
.program-object5 { display: none; position: absolute; opacity: 0; transition: transform 2s, opacity 2s; }


@media (min-width:768px) {
	.program-object1,
	.program-object2 {
		position: absolute; display: block;
		transform: translate3d(50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

	.program-object3,
	.program-object4,
	.program-object5 {
		position: absolute; display: block;
		transform: translate3d(-50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
 }

.program-object1  { width: 229px; height: auto; top:    50%;  left: calc(50% - 1060px); z-index: 1; transform: translate(210px) scale(0); }
.program-object2  { width: 270px; height: auto; top:    70%;  left: calc(50% -  830px); z-index: 1; transform: translate(210px) scale(0); }
.program-object3  { width: 456px; height: auto; top: -190px; right: calc(50% -  970px); z-index: 2; transform: translate(210px) scale(0); }
.program-object4  { width: 270px; height: auto; top:    46%; right: calc(50% -  930px); z-index: 1; transform: translate(210px) scale(0); }
.program-object5  { width: 375px; height: auto; bottom: 10%; right: calc(50% - 1130px); z-index: 1; transform: translate(-210px) scale(0); }

.program-object1.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.program-object2.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.program-object3.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.program-object4.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.program-object5.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.
.program-object1.is-active  img { animation: rotate 200s infinite; }
.program-object2.is-active  img { animation: float 6s 2s infinite; }
.program-object3.is-active  img { animation: rotate 200s infinite; }
.program-object4.is-active  img { animation: float 6s 2.2s infinite; }
.program-object5.is-active  img { animation: rotate 200s infinite; }


.title-sub-program { width: 260px; text-align: center; margin: -10px auto 30px; }

.program-article-wrapper { position: relative; margin: 0 10px; }
.program-article {
	box-sizing: border-box;
	padding: 48px 32px 15px;
	background: url(../images/bg-program-article.png);
	z-index: 5;
	position: relative;
}

.program-article:after {
	position: absolute; bottom: 20px; left: 0; right: 0;
	display: block; max-width: 1200px; width: 100%; height: 9px; margin: auto;
	background: url(../images/bg-program-article-line.png);
	background-size: auto 9px;
	content: ""; }

.program-article-item {
	position: relative;
	border: 1px solid #000;
	background-color: #fff;
	display: block;
	width: 100%;
	margin: 0 auto 40px;
}
.program-article-item.notyet { pointer-events: none; }
.program-article-item.notyet .program-report { background: #b7b7b7; }

@media (min-width:768px) {
	.program-article-wrapper { margin: 60px 0 0; }
	.title-sub-program { width: 1280px;  text-align: center; margin: 50px 0 0; }
	.title-sub-program img { max-width:433px; height: auto; margin: 0 auto 0; }
	.program-article { display: flex; flex-wrap: wrap; width: 1280px; margin: 0 auto; padding: 0 131px 50px; }
	.program-article-item { width: 300px; margin: 35px 18px; padding-top: 30px; }
}

[data-program-article=""] > [data-program-article-item-august],
[data-program-article=""] > [data-program-article-item-october],
[data-program-article=""] > [data-program-article-item-september],
[data-program-article=""] > [data-program-tab-item=""] > .program-tab-body-active,
[data-program-article=""] > [data-program-tab-item=august] > .program-tab-body-inactive,
[data-program-article=""] > [data-program-tab-item=february] > .program-tab-body-inactive,
[data-program-article=""] > [data-program-tab-item=january] > .program-tab-body-inactive,
[data-program-article=""] > [data-program-tab-item=october] > .program-tab-body-inactive,
[data-program-article=""] > [data-program-tab-item=september] > .program-tab-body-inactive,
[data-program-article=""] > [data-program-tab-item=winter] > .program-tab-body-inactive,
[data-program-article=august] > [data-program-article-item-august],
[data-program-article=august] > [data-program-tab-item=""] > .program-tab-body-inactive,
[data-program-article=august] > [data-program-tab-item=august] > .program-tab-body-active,
[data-program-article=august] > [data-program-tab-item=february] > .program-tab-body-inactive,
[data-program-article=august] > [data-program-tab-item=january] > .program-tab-body-inactive,
[data-program-article=august] > [data-program-tab-item=october] > .program-tab-body-inactive,
[data-program-article=august] > [data-program-tab-item=september] > .program-tab-body-inactive,
[data-program-article=august] > [data-program-tab-item=winter] > .program-tab-body-inactive,
[data-program-article=september] > [data-program-article-item-september],
[data-program-article=september] > [data-program-tab-item=""] > .program-tab-body-inactive,
[data-program-article=september] > [data-program-tab-item=august] > .program-tab-body-inactive,
[data-program-article=september] > [data-program-tab-item=february] > .program-tab-body-inactive,
[data-program-article=september] > [data-program-tab-item=january] > .program-tab-body-inactive,
[data-program-article=september] > [data-program-tab-item=october] > .program-tab-body-inactive,
[data-program-article=september] > [data-program-tab-item=september] > .program-tab-body-active,
[data-program-article=september] > [data-program-tab-item=winter] > .program-tab-body-inactive { display: block; }
[data-program-article=october] { border-radius: 0 0 8px 8px; }

@media (min-width:768px) {
	[data-program-article=october] { border-radius: 0 8px 8px 8px; }
}
[data-program-article=february] > [data-program-article-item-february], [data-program-article=february] > [data-program-tab-item=""] > .program-tab-body-inactive, [data-program-article=february] > [data-program-tab-item=august] > .program-tab-body-inactive, [data-program-article=february] > [data-program-tab-item=february] > .program-tab-body-active, [data-program-article=february] > [data-program-tab-item=january] > .program-tab-body-inactive, [data-program-article=february] > [data-program-tab-item=october] > .program-tab-body-inactive, [data-program-article=february] > [data-program-tab-item=september] > .program-tab-body-inactive, [data-program-article=february] > [data-program-tab-item=winter] > .program-tab-body-inactive, [data-program-article=january] > [data-program-article-item-january], [data-program-article=january] > [data-program-tab-item=""] > .program-tab-body-inactive, [data-program-article=january] > [data-program-tab-item=august] > .program-tab-body-inactive, [data-program-article=january] > [data-program-tab-item=february] > .program-tab-body-inactive, [data-program-article=january] > [data-program-tab-item=january] > .program-tab-body-active, [data-program-article=january] > [data-program-tab-item=october] > .program-tab-body-inactive, [data-program-article=january] > [data-program-tab-item=september] > .program-tab-body-inactive, [data-program-article=january] > [data-program-tab-item=winter] > .program-tab-body-inactive, [data-program-article=october] > [data-program-article-item-october], [data-program-article=october] > [data-program-tab-item=""] > .program-tab-body-inactive, [data-program-article=october] > [data-program-tab-item=august] > .program-tab-body-inactive, [data-program-article=october] > [data-program-tab-item=february] > .program-tab-body-inactive, [data-program-article=october] > [data-program-tab-item=january] > .program-tab-body-inactive, [data-program-article=october] > [data-program-tab-item=october] > .program-tab-body-active, [data-program-article=october] > [data-program-tab-item=september] > .program-tab-body-inactive, [data-program-article=october] > [data-program-tab-item=winter] > .program-tab-body-inactive { display: block; }
[data-program-article=winter] { border-radius: 0 0 8px 8px; }
[data-program-article=winter] > [data-program-article-item-february], [data-program-article=winter] > [data-program-article-item-january], [data-program-article=winter] > [data-program-tab-item=""] > .program-tab-body-inactive, [data-program-article=winter] > [data-program-tab-item=august] > .program-tab-body-inactive, [data-program-article=winter] > [data-program-tab-item=february] > .program-tab-body-inactive, [data-program-article=winter] > [data-program-tab-item=january] > .program-tab-body-inactive, [data-program-article=winter] > [data-program-tab-item=october] > .program-tab-body-inactive, [data-program-article=winter] > [data-program-tab-item=september] > .program-tab-body-inactive, [data-program-article=winter] > [data-program-tab-item=winter] > .program-tab-body-active { display: block; }
.summer-season [data-program-tab-item=february], .summer-season [data-program-tab-item=january], .summer-season [data-program-tab-item=winter] { display: none; }

.program-article-item-inner { height: 100%; }
.program-article-item-inner:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	transition: opacity .3s;
	opacity: 0;
	z-index: 1;
}
.program-article-img-box { position: relative; padding-top: 8vw; }
.program-type {
	position: absolute; top: -0.7vw; left: -2%; z-index: 1;
	width: 102%; height: auto; }
@media (min-width:768px) {
	.program-article-img-box { padding-top: 0; }
	.program-type { width: 102%; top: -33px; right: 0; }
}
.program-type:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	transition: opacity .3s;
	opacity: 0;
	z-index: 1;
}
.program-article-text { position: relative; }
.program-article-item-open .program-article-text { padding: 17px 23px 18px; }
.program-article-item-closed .program-article-text { padding: 17px 23px 55px; }

@media (min-width:768px) {
	.program-article-item-open .program-article-text { padding: 17px 23px 10px; }
	.program-article-item-closed .program-article-text { padding: 17px 23px 45px; }
}
.program-article-text-inner { position: relative; padding-bottom: 44px; }
.program-article-item-open .program-article-item-inner:before { background-color: hsla(0, 0%, 100%, .5); }
.program-article-item-open .program-type:after { background-color: hsla(0, 0%, 100%, .5); z-index: 1; }
.program-article-item-closed .program-article-item-inner:before { background-color: rgba(0, 0, 0, .5); }
.program-article-item-closed .program-type:after { background-color: rgba(0, 0, 0, .5); z-index: 1; }
.program-article-item-closed .program-article-img-box:before {
	content: "";
	position: absolute; bottom: 0; right: 0; z-index: 1;
	display: block; width: 0; height: 0;
	border-color: transparent transparent #e6382f;
	border-style: solid;
	border-width: 0 0 64px 64px;
	transition: all .3s ease-out; }
.program-article-item-closed .program-article-img-box:after {
	content: attr(data-badge);
	position: absolute; bottom: 30px; right: 10px; z-index: 1;
	display: block;
	transform: translate3d(4px, 14px, 0) rotate(-45deg);
	font-size: 15px; font-weight: 700; letter-spacing: 0; text-align: center; color: #fff;
	transition: all .3s ease-out; }

.program-article-item:hover .program-article-item-inner:after, .program-article-item:hover .program-article-item-inner:before, .program-article-item:hover .program-image:after, .program-article-item:hover .program-image:before, .program-article-item:hover .program-type:after, .program-article-item:hover .program-type:before { opacity: 0; }
.program-article-item:hover .program-image { opacity: 0.6;}
.program-article-item:hover .program-article-item-inner .program-article-img-box:before, .program-article-item:hover .program-image .program-article-img-box:before, .program-article-item:hover .program-type .program-article-img-box:before { opacity: 0.6;}
.program-article-item:hover .program-article-item-inner .program-article-img-box:after, .program-article-item:hover .program-image .program-article-img-box:after, .program-article-item:hover .program-type .program-article-img-box:after { opacity: 0.6;}
.program-period {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.24;
	letter-spacing: normal;
	color: #000;
}
.program-name {
	font-size: 17px;
	font-weight: 700;
	font-stretch: normal;
	line-height: 1.5;
	letter-spacing: normal;
	color: #000;
	margin-top: 6px;
	border-top: 1px solid #000;
	padding-top: 6px; }
.program-name .subtitle { font-size: 12px; display: inline-block; margin-top: 5px; }
.program-tag { display: flex; flex-wrap: wrap; margin-left: -4px; margin-top: 20px; }
.program-tag-item {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .5px;
	line-height: 14px;
	text-align: center;
	color: #fff;
	background-color: #000;
	border-radius: 10px;
	padding: 2px 18px;
	margin: 4px; }
.program-report {
	position: absolute; bottom: 20px; z-index: 3;
	display: block; width: calc(100% - 46px); height: 44px; border-radius: 8px;
	background-color: #d50038; margin: 0 23px;
	line-height: 44px;
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); transition: .3s; }
.program-article-item-inner:hover .program-report { opacity: 0.6; }
.program-report-text {
	font-weight: 700; font-stretch: normal;
	text-align: center; color: #fff; letter-spacing: 1.2px;
	position: relative;
	text-decoration: none; }
.program-report-icon {
	width: 14px; height: 22px;
	position: absolute; right: 15px; top: 12px; }
.translated-ltr .program-report-icon { margin-left: 70px; }

@media (min-width:768px) {
	.program-period { line-height: 1.64; font-size: 12px; }
	.program-name { font-size: 16px; }
	.program-tag { margin-bottom: 8px; }
	.program-report-text { letter-spacing: .6px; text-decoration: none; }
}


/* -------------------------
  #map
------------------------- */

#map {
	position: relative;
	background: url(../images/bg-map.png) repeat center top / auto 45px; }
.map-inner { position: relative; z-index: 1; }

@media (min-width:768px) {
	#map { padding-bottom: 200px; background-size: auto 90px;}
	#map h2.map-heading-body { top: -150px; margin-bottom: -100px;}
	.map-heading {margin: 0 calc(50% - 713px); text-align: center; }
}

.map-decoration-1 {
	position: absolute; top: 30px; left: 30px; z-index: 1;
	display: none; width: 144px; height: 122px;
	transform: translate3d(-50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.map-decoration-2 {
	position: absolute; top: 30px; right: 30px; z-index: 1;
	display: none; width: 151px; height: 250px;
	transform: translate3d(50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.map-decoration-3 {
	position: absolute; top: 30px; left: 30px; z-index: 1;
	display: none; width: 372px; height: 376px;
	transform: translate3d(-50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.map-decoration-4 {
	position: absolute; top: 30px; right: 30px; z-index: 1;
	display: none; width: 106px; height: 81px;
	transform: translate3d(50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

.map-decoration-5 {
	position: absolute; top: 30px; right: 30px; z-index: 1;
	display: none; width: 109px; height: 37px;
	transform: translate3d(-50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.map-decoration-6 {
	position: absolute; top: 30px; right: 30px; z-index: 1;
	display: none; width: 182px; height: 179px;
	transform: translate3d(50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.map-decoration-7 {
	position: absolute; top: 30px; right: 30px; z-index: 1;
	display: none; width: 293px; height: 222px;
	transform: translate3d(-50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

.map-decoration-1.is-active { transform: translate3d(-50%, 0, 0) scale(1) }
.map-decoration-2.is-active { transform: translate3d(50%, 0, 0) scale(1); }
.map-decoration-3.is-active { transform: translate3d(-50%, 0, 0) scale(1) }
.map-decoration-4.is-active { transform: translate3d(50%, 0, 0) scale(1); }
.map-decoration-5.is-active { transform: translate3d(-50%, 0, 0) scale(1) }
.map-decoration-6.is-active { transform: translate3d(50%, 0, 0) scale(1); }
.map-decoration-7.is-active { transform: translate3d(-50%, 0, 0) scale(1) }
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
rotate
rotate-45
shake
float
float-reverse
point
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

.map-decoration-1.is-active > img { animation: shake  4.4s  2.7s  infinite; }
.map-decoration-2.is-active > img { animation: shake  4.5s  2.7s  infinite; }
.map-decoration-3.is-active > img { animation: shake  4.8s  2.7s  infinite; }
.map-decoration-4.is-active > img { animation: float  4.5s  2.7s  infinite; }
.map-decoration-5.is-active > img { animation: float  4.5s  2.6s  infinite; }
.map-decoration-6.is-active > img { animation: shake  4.5s  3.7s  infinite; }
.map-decoration-7.is-active > img { animation: shake  4.5s  2.7s  infinite; }

@media (min-width:768px) {
	.map-decoration-1 { display: block; top:  80px;  left: calc(50% - 717px);  display: block!important; width: 168px; height: auto;}
	.map-decoration-2 { display: block; top:   25%;  left: calc(50% -  975px); display: block!important; width: 151px; height: auto;}
	.map-decoration-3 { display: block; top:   64%;  left: calc(50% - 770px);  display: block!important; width: 135px; height: auto;}
	.map-decoration-4 { display: block; top:   90%;  left: calc(50% - 1135px);  display: block!important; width: 270px; height: auto;}
	.map-decoration-5 { display: block; top: -50px; right: calc(50% - 1100px);  display: block!important; width: 270px; height: auto;}
	.map-decoration-6 { display: block; top:   25%; right: calc(50% - 720px);  display: block!important; width: 246px; height: auto;}
	.map-decoration-7 { display: block; top:   72%; right: calc(50% - 1020px); display: block!important; width: 164px; height: auto;}
}




.map-place { position: relative; margin: 0;  padding: 20px; }
.map-place-heading { width: 260px; height: auto; margin: 0 auto 33px; }
.map-place-list { display: flex; counter-reset: map-place; flex-wrap: wrap; justify-content: space-between; }
.map-place-item { width: calc(50% - 10px); padding: 10px; margin: 0 0 18px;  position: relative; background: rgba(255,255,255,1); }

.map-place-item-inner {
	counter-increment: map-place;
	background-size: 29px 37px; background-repeat: no-repeat; background-position: 0 0;
	min-height: 44px;
	position: relative; transition: opacity .3s; }
.map-place-item-inner:hover { opacity: .5; }
.map-place-name {
	font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: normal; color: #000;
	padding-bottom: 1px; padding-left: 30px; min-height: 3.2em; border-bottom: 1px solid #5e749e }

@media (min-width:768px) {
	.map-place { width: 1280px; margin: 20px auto 0; padding-bottom: 40px; }
	.map-place-heading {
		position: absolute; top: 0; left: 50%;
		transform: translate3d(-50%, 0, 0); width: 433px; }
	.map-place-list { width: 1032px; margin: 0 auto; padding: 100px 0; }
	.map-place-list:after { content: ""; display: block; width: 340px;}
	.map-place-item { width: 300px; margin: 18px 20px; padding: 10px; }
	.map-place-item-inner {}
	.map-place-name { font-size: 20px; padding-bottom: 4px; padding-left: 40px; min-height: 3em; }
}

.map-place-name:before {
	content: counter(map-place);
	position: absolute; top: -3px; left: 1px;
	display: block; width: 28px; height: 36px; padding-top: 17px; min-height: 40px;
	font-size: 11px; font-weight: 700; letter-spacing: 0;  text-align: center; color: #A00D0D; line-height: 0; text-decoration: none;
	background-color: transparent;
	transition: color .3s, background-color .3s;
	white-space: nowrap; }
.map-place-desc {
	font-size: 10px;
	font-weight: 700;
	line-height: 1.54;
	letter-spacing: normal;
	color: #000;
	padding-top: 4px; }
.map-embed { display: none; }
.map-embed-inner { overflow: hidden; }
.map-embed-inner > iframe {
	position: relative;
	z-index: 5;
	margin-top: -59px; width: 100%; height: 450px; }
.map-embed-inner.is-active.is-active-map { pointer-events: auto; }

@media (min-width:768px) {
	.map-place-name:before { padding-top: 18px; font-size: 17px; min-height: 60px; 	}
	.map-place-desc { padding-top: 7px; font-size: 14px; }
	.map-embed { display: block; width: 1032px; margin: -70px auto 0; padding-top: 70px; }
	.map-embed-inner { border: 5px solid #997722;}
	.map-embed-inner > iframe { height: 460px; }
}


/* -------------------------
  .sponsor
------------------------- */
.sponsor {
	position: relative;
	margin-bottom: 0; padding-bottom: 40px;
	border-top: 18px solid #8B1129;
	background: url(../images/bg-sponsor.png) repeat center top / cover; }

@media (min-width:768px) {
	.sponsor { padding : 0 0 200px; }
	.sponsor-heading { margin: 0 calc(50% - 713px); text-align: center; }
	.sponsor-heading-body { top: -150px; margin-bottom: -100px;}
}

.sponsor-decoration-1,
.sponsor-decoration-2,
.sponsor-decoration-3,
.sponsor-decoration-4  {display: none; }

@media (min-width:768px) {
	.sponsor-decoration-1,
	.sponsor-decoration-2,
	.sponsor-decoration-3,
	.sponsor-decoration-4 {display: block; }

	.sponsor-decoration-1 {
		position: absolute; top: 100px; left: calc(50% - 690px); z-index: 1;
		width: 122px; height: auto;
		transform: translate3d(-50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
	.sponsor-decoration-2 {
		position: absolute; top: 30%; left: calc(50% - 850px); z-index: 1;
		width: 515px; height: auto;
		transform: translate3d(-50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

	.sponsor-decoration-3 {
		position: absolute; top: -70px; right: calc(50% - 790px); z-index: 1;
		width: 456px; height: auto;
		transform: translate3d(50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
	.sponsor-decoration-4 {
		position: absolute; top: 64%; right: calc(50% - 734px); z-index: 1;
		width: 178px; height: auto;
		transform: translate3d(50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

	.sponsor-decoration-1.is-active { transform: translate3d(-50%, 0, 0) scale(1); }
	.sponsor-decoration-2.is-active { transform: translate3d(-50%, 0, 0) scale(1); }
	.sponsor-decoration-3.is-active { transform: translate3d(50%, 0, 0) scale(1); }
	.sponsor-decoration-4.is-active { transform: translate3d(50%, 0, 0) scale(1); }

	.sponsor-decoration-1.is-active > img { animation: shake  4.5s  2.7s infinite; }
	.sponsor-decoration-2.is-active > img { animation: rotate 200s infinite; }
	.sponsor-decoration-3.is-active > img { animation: rotate 200s infinite; }
	.sponsor-decoration-4.is-active > img { animation: shake  4.5s  2.7s infinite; }
}


.sponsor-desc {
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 1.6px;
	color: #000;
	padding: 0 20px;
	text-align: center;
	margin-top: 18px;
	margin-bottom: 42px; }
.sponsor-desc br { display: none;}
.sponsor-desc .new-line { display: none; }
.sponsor-separate:last-child { display: none; }
.sponsor-banner {
	display: flex; flex-wrap: wrap; justify-content: center;
	padding: 0 10px; margin-bottom: 50px; }
.sponsor-banner li { width: 50%; padding: 0 15px; margin-bottom: 21px; }
.sponsor-place { position: relative; z-index: 2; margin: 0 10px; background-size: 1920px auto; border-radius: 8px; }
.sponsor-place-heading { width: 260px; height: auto; margin: 20px auto 14px; }
.sponsor-place-list {
	display: flex; flex-wrap: wrap;
	counter-reset: sponsor-place;
	padding: 10px; margin-bottom: -26px; }
.sponsor-place-item {
	display: flex; width: 50%; margin-bottom: 20px; padding: 0 10px;
	align-items: center; font-weight: 700; color: #000; }
.sponsor-place-item .new-line { display: none; }
.sponsor-place-anchor {
	counter-increment: sponsor-place;
	background-repeat: no-repeat;
	background-position: 0;
	background-size: 24px 32px;
	position: relative;
	font-size: 12px;
	line-height: 1.6;
	padding: 8px 5px 8px 35px;
	transition: opacity .3s;
	text-decoration: underline;
}
.sponsor-place-anchor:before {
	content: counter(sponsor-place);
	position: absolute; top: 50%; left: 0;
	transform: translate3d(0, -50%, 0);
	display: block; width: 24px; height: 32px; padding-top: 12px;
	font-size: 11px; font-weight: 700; letter-spacing: 0; text-align: center; color: #e8382f; line-height: 0;
	transition: background-color .3s;
	white-space: nowrap;
	text-decoration: none; }
.sponsor-place-anchor:hover { opacity: .5; }
.sponsor-place-anchor, _:-ms-lang(x)::-ms-backdrop { text-decoration: none; }
.sponsor-embed { display: none; }
.sponsor-embed-inner { margin-top: 20px; overflow: hidden; padding: 0 20px; }
.sponsor-embed-inner > iframe { margin-top: -59px; width: 100%; height: 460px; }
.sponsor-embed-inner.is-active.is-active-map { pointer-events: auto; }
.sponsor-list  { margin-top: 34px; text-align: center; font-size: 17px;}

.pdflink { font-size: 12px; color: #1919f9; font-weight: bold; text-decoration: underline; padding-right: 50px; background: url(../images/icon-pdflink.png) no-repeat right center / 40px auto;}
@media (min-width:768px) {
	.sponsor-desc {
		width: 880px; margin: 34px auto 12px; padding: 0;
		font-size: 16px; line-height: 2; text-align: center; letter-spacing: 1.4px; }
	.sponsor-desc .new-line { display: block; }
	.sponsor-banner { width: 1280px; margin: 0 auto; padding: 0; }
	.sponsor-banner li { width: 230px; margin: 13px 32px 13px 0; padding: 0; }
	.sponsor-banner li:nth-child(5n) { margin-right: 0; }
	.sponsor-place { width: 1280px; margin: 103px auto 0; padding: 18px 150px 70px; }
	.sponsor-place-heading { width: 433px; position: relative; }
	.sponsor-place-list { align-items: center; padding: 0 16px; margin-bottom: -16px; }
	.sponsor-place-item {
		width: auto; margin-bottom: 23px; padding: 0 15px;
		font-size: 17px; line-height: 1.43; letter-spacing: 1.7px; }
	.sponsor-place-anchor { font-size: 17px; text-decoration: none; }
	.sponsor-embed { display: block; margin-top: -70px; padding-top: 70px; }
	.sponsor-embed-inner { padding: 0; border: 5px solid #997722;}
	.pdflink { font-size: 17px;　}

	.sponsor-embed-inner > iframe { height: 362px; }
}

@supports (-ms-ime-align:auto) {
	.sponsor-place-anchor { text-decoration: none; }
}



/* -------------------------
  .recruitment
------------------------- */
.recruitment { position: relative; padding: 20px 0 40px; background: url(../images/bg-recruitment.png) center center / 167px auto; }
.recruitment-heading { position: relative;}
@media (min-width:768px) {
	.recruitment { padding: 20px 0 200px; }
	.recruitment-heading { margin: 0 calc(50% - 713px) 0; text-align: center; }
	.recruitment-heading-body { margin-top: -150px;}
}

.recruitment-object-1 {
	position: absolute; top: 30px; left: 30px; z-index: 1;
	display: none; width: 135px; height: auto;
	transform: translate3d(-50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.recruitment-object-1.is-active { transform: translate3d(-50%, 0, 0) scale(1) }
.recruitment-object-1.is-active > img { animation: shake 3s 2.8s infinite; }

.recruitment-object-2 {
	position: absolute; top: 30px; right: 30px; z-index: 1;
	display: none; width: 155px; height: auto;
	transform: translate3d(50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.recruitment-object-2.is-active { transform: translate3d(50%, 0, 0) scale(1) rotate(30deg); }
.recruitment-object-2.is-active > img { animation: shake 2.3s 3s infinite; }

@media (min-width:768px) {
	.recruitment-heading-cloud-left {
		top: 220px; left: calc(50% - 920px);
		transform: translate3d(-100px, 0, 0); }
	.recruitment-heading-cloud-left.is-active { transform: translateZ(0); }
	.recruitment-heading-cloud-right {
		top: -250px; right: calc(50% - 920px);
		transform: translate(80px); }
	.recruitment-heading-cloud-right.is-active { transform: translate(0); }
	.recruitment-object-1 { top: 40%;  left: calc(50% - 600px); display: block!important; width: 135px; }
	.recruitment-object-2 { top: 40%; right: calc(50% - 600px); display: block!important; width: 155px; }
}


.recruitment-list { justify-content: center; margin-top: 40px; }
.recruitment-performance {
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	position: relative; }
.recruitment-performance:before {
	content: "";
	display: block;
	position: absolute;
	background-color: rgba(0, 0, 0, .5);
	width: 100%;
	height: 100%; }
.recruitment-volunteer {
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	position: relative; }
.recruitment-volunteer:before {
	content: "";
	display: block;
	position: absolute;
	background-color: rgba(0, 0, 0, .5);
	width: 100%;
	height: 100%; }
.recruitment-item-inner {
	padding: 10.3% 0;
	position: relative; }
.recruitment-text {
	display: flex; justify-content: center; align-items: center;
	font-size: 19px; font-weight: 700; line-height: 1.62;
	letter-spacing: normal; text-align: center; color: #fff;
	width: 257px; height: 90px; margin: 0 auto; }
.translated-ltr .recruitment-text { font-size: 16px; }
.recruitment-link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 182px;
	height: 28px;
	margin: 19px auto 0;
	color: #fff;
	background-color: #E3372F;
	border-radius: 8px;
	transition: .3s;
}
.recruitment-link-text {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: normal;
	text-align: center;
	color: #fff;
	transition: opacity .3s;
	text-decoration: underline;
}
.recruitment-link-text br { display: none; }
.translated-ltr .recruitment-link-text br { display: inline-block; }
.recruitment-link-icon {
	width: 9px;
	height: 10px;
	margin-left: 6px;
	color: #000;
	transition: opacity .3s; }
.recruitment-link:hover { transform: scale(1.1); }

@media (min-width:768px) {
	.recruitment-list { display: flex; width: 1280px; margin: 60px auto 0; padding-top: 60px; }
	.recruitment-performance {
		display: flex; width:1280px; max-width:600px;
		justify-content: space-around; }
	.recruitment-volunteer { display: flex; justify-content: flex-start; }
	.recruitment-item-inner { width: 640px; padding: 46px 0; }
	.recruitment-text { width: 340px; height: 118px; font-size: 26px; }
	.translated-ltr .recruitment-text { font-size: 20px; }
	.recruitment-link { width: 252px; height: 44px; margin: 26px auto 0; }
	.recruitment-link-text { font-size: 14px; text-decoration: none; }
	.recruitment-link-icon { width: 14px; height: 22px; }
}






/* -------------------------
  #outline
------------------------- */
.outline { position: relative; padding: 20px 0 10px; background: url(../images/mv-bg.jpg) repeat center top / 990px auto; color: #000; }
.outline-heading { display: flex; justify-content: center; align-items: center; }
.outline-look-open { position: relative; left: -7px; }
.look .outline-look-open { display: none; }
.outline-look-close { position: relative; left: -8px; display: none; }
.look .outline-look-close { display: block; }
.outline-look-icon {
	width: 12px; height: 12px;margin-left: 30px; border-radius: 50%; border: 1px solid #000;
	position: absolute; top: 50%; left: 50%;
	transform: translateY(-50%) translateX(-50%); }
.look .outline-look-icon { margin-left: 35px; }
.outline-look-arrow { position: absolute; padding: 2px; }
.look .outline-look-arrow { transform: scaleY(-1); }
.outline-look-contents { height: 0; overflow: hidden; transition: height 1s .3s; }
.look .outline-look-contents { height: auto; overflow: visible; }
.outline-heading-cloud-left {
	position: absolute; left: 0; width: 260px; height: 31px;
	transition: transform 2s, opacity 2s;
	transform: translate3d(-210px, 0, 0);
	opacity: 0; }
.outline-heading-cloud-left.is-active { transform: translate3d(-190px, 0, 0); opacity: 1; }
.outline-heading-cloud-left.is-active > img, .outline-heading-cloud-left.is-active > svg { animation: float 10s infinite; }
.outline-heading-cloud-right { position: absolute; right: 0; width: 260px; height: 31px; transition: transform 2s, opacity 2s; transform: translate(210px) scaleX(-1); opacity: 0; }
.outline-heading-cloud-right.is-active { transform: translate(190px) scaleX(-1); opacity: 1; }
.outline-heading-cloud-right.is-active > img, .outline-heading-cloud-right.is-active > svg { animation: float 10s infinite; }
.outline-section-list { width: 100%; margin-top: 20px; }
.outline-concept { overflow: hidden; margin: 0 20px; }
.outline-concept-inner { position: relative; padding: 34px 30px 27px; background: rgba(255,255,255,.9); }
.outline-concept-bg { position: absolute; top: 70px; left: 0; right: 0; width: 90%; height: auto; max-width: 375px; margin: auto; }
.outline-concept-heading { position: relative; display: block; margin: 0 auto; text-align: center; font-size: 29px; font-weight: bold; }
.outline-concept-intro { font-size: 13px; font-weight: 700; letter-spacing: 1.9px; text-align: center; color: #000; margin: 54px auto 20px; position: relative; }
.outline-thought { overflow: hidden; margin: 30px 20px}
.outline-thought-inner { position: relative; padding: 34px 30px; background: rgba(255,255,255,.8); }
.outline-thought-bg { position: absolute; top: 70px; left: 0; right: 0; width: 90%; height: auto; max-width: 375px; margin: auto; }
.outline-thought-heading { display: block; margin: 0 auto; position: relative; text-align: center; font-size: 29px; font-weight: bold; }
.outline-logo { width: 195px; height: auto; margin: 53px auto 40px; position: relative; }
.outline-thought-decoration-0 { position: absolute; bottom: 37px; right: 21px; width: 118px; height: 121px; transform: translateZ(0) scale(0); transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.outline-thought-decoration-0.is-active { transform: translateZ(0) scale(1); }
.outline-thought-decoration-0.is-active > img, .outline-thought-decoration-0.is-active > svg { animation: rotate 200s infinite; }
.outline-thought-decoration-1 { position: absolute; bottom: 45px; right: 104px; width: 59px; height: 69px;  transform: translateZ(0) scale(0) rotate(26deg); transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.outline-thought-decoration-1.is-active { transform: translateZ(0) scale(1) rotate(26deg); }
.outline-thought-decoration-1.is-active > img, .outline-thought-decoration-1.is-active > svg { animation: shake 6s 2s infinite; }
.outline-section-text { position: relative; margin-top: 23px; font-size: 12px; font-weight: 700; font-stretch: normal; line-height: 1.75; letter-spacing: normal; color: #000; }
.outline-section-text br { display: none; }
.outline-table { box-sizing: border-box; width: calc(100% - 40px); max-width: 1200px; margin: 40px auto 0; padding: 35px 16px 78px; background: rgba(255,255,255,.9); }
.outline-table-raw-group { display: flex; flex-wrap: wrap; width: 100%; border-top: 1px solid #000; padding: 10px 0; }
.outline-table-raw-group:last-child { border-bottom: 1px solid #000; }
.outline-table-term { width: 100%; margin: 10px 0; font-size: 12px; font-weight: 700; line-height: 1.63; letter-spacing: 1.6px; color: #000; }
.outline-table-raw-group:nth-child(3) .outline-table-term { margin-bottom: 20px; }
.outline-table-desc { width: 100%; margin-bottom: 10px; }
.outline-table-text { display: flex; font-size: 12px; line-height: 1.63; letter-spacing: 1px; color: #000; }
.outline-table-name { width: 7.2em; }
.translated-ltr .outline-table-name { width: auto; margin-right: 1em; }


@media (min-width:768px) {
	.outline { padding-bottom: 200px; background-size: initial; }
	.outline-heading { margin: -30px calc(50% - 648px) 0; }
	.outline-heading-body { top: -150px; margin-bottom: -100px;}
	.outline-look-contents { height: auto; overflow: visible; margin-top: -160px; }
	.outline-heading-cloud-left { position: relative; left: 0; width: 427px; height: 47px; transform: translate3d(-100px, 0, 0); }
	.outline-heading-cloud-left.is-active { transform: translateZ(0); }
	.outline-heading-cloud-right { position: relative; right: 0; width: 427px; height: 47px; transform: translate(100px) scaleX(-1); }
	.outline-heading-cloud-right.is-active { transform: translate(0) scaleX(-1); }
	.outline-section-list { display: flex;  margin-top: 90px; justify-content: space-around; }
	.outline-concept { width: calc(50% - 40px); padding-top: 100px; margin: 0; display: flex; justify-content: flex-end;}
	.outline-concept-inner { width: 730px; padding: 46px 60px 58px 60px; }
	.outline-concept-bg { top: 100px; right: 50px; width: 678px; height: 648px; max-width: initial; }

	.outline-concept-heading,
	.outline-thought-heading  { font-size: 35px; font-weight: bold; text-align: center; }

	.outline-concept-intro { font-size: 18.7px; margin: 72px auto 30px; }
	.outline-thought { width:  calc(50% - 40px); padding-top: 100px; margin: 0; display: flex; justify-content: flex-start; }
	.outline-thought-inner { width: 730px; padding: 46px 60px 46px 60px; }
	.outline-thought-bg { top: 100px; left: 50px; width: 678px; height: 648px; max-width: initial; }

	.outline-logo { width: 269px; margin: 72px auto 50px; }
	.outline-thought-decoration-0 { width: 191px; height: 196px; bottom: 30px; right: -50px; }
	.outline-thought-decoration-1 { width: 90px; height: 108px; bottom: 44px; right: 92px;  }
	.outline-section-text { font-size: 18px; margin-top: 28px; }
	.outline-thought-inner .outline-section-text:nth-child(5) { white-space: nowrap; }
	.outline-section-text br { display: block; }
	.outline-table { padding: 68px 200px; width: 100%; }
	.outline-table-raw-group { padding: 12px 0; }
	.outline-table-term { width: 17.5%; margin: 12px 0; font-size: 18px; }
	.outline-table-raw-group:nth-child(3) .outline-table-term { margin: 12px 0; }
	.outline-table-desc { width: 82.5%; margin: 12px 0; }
	.outline-table-text { font-size: 18px; letter-spacing: 1.6px; }

	.translated-ltr .outline-table-term { width: 17.5%; margin: 12px 0; font-size: 14px; }
	.translated-ltr .outline-table-text { font-size: 14px;}
	.translated-ltr .outline-table-name { width: auto; margin-right: 1em; }
	.translated-ltr .outline-table-name .translation-en { white-space: nowrap; }

}

.outline-decoration-0 { position: absolute; top:  50px; left:  calc(50% - 730px); width: 264px; height: 264px; transform: translate3d(-50%, 0, 0) scale(0); transition: transform 2s cubic-bezier(.15, 1.86, .19, 1);}
.outline-decoration-1 { position: absolute; top: 140px; right: calc(50% - 730px); width: 320px; height: 320px; transform: translate3d(50%, 0, 0) scale(0); transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.outline-decoration-2 { position: absolute; top: 240px; left:  calc(50% - 840px); width: 158px; height: 158px; transform: translate3d(-50%, 0, 0) scale(0); transition: transform 2s cubic-bezier(.15, 1.86, .19, 1);}

.outline-decoration-0.is-active { transform: translate3d(-50%, 0, 0) scale(1); }
.outline-decoration-1.is-active { transform: translate3d(50%, 0, 0) scale(1); }
.outline-decoration-2.is-active { transform: translate3d(-50%, 0, 0) scale(1); }

.outline-decoration-0.is-active > img, .outline-decoration-0.is-active > svg { animation: rotate 200s infinite; }
.outline-decoration-1.is-active > img, .outline-decoration-1.is-active > svg { animation: rotate 200s infinite; }
.outline-decoration-2.is-active > img, .outline-decoration-2.is-active > svg { animation: rotate 200s infinite; }


/* -------------------------
  .data
------------------------- */
.data {
	position: relative;
	padding: 0 0 40px;
	background: #F5D3DC; }
.data-heading { position: relative;}
.data-heading-cloud-left {
	position: absolute; left: 0;
	width: 439px; height: 95px;
	transition: transform 2s, opacity 2s;
	transform: translate3d(-250px, 0, 0);
	opacity: 0; }
.data-heading-cloud-left.is-active { opacity: 1; transform: translate3d(-230px, 0, 0); }
.data-heading-cloud-left.is-active > img { animation: float 10s infinite; }
.data-heading-cloud-right {
	position: absolute; right: -60px;
	width: 439px; height: 95px;
	transition: transform 2s, opacity 2s;
	transform: translate(100px);
	opacity: 0; }
.data-heading-cloud-right.is-active { transform: translate(230px); opacity: 1; }
.data-heading-cloud-right.is-active > img { animation: float 10s infinite; }

@media (min-width:768px) {
	.data-heading {margin: 0 calc(50% - 713px); text-align: center; }
	.data-heading-cloud-left {
	width: 439px; height: 95px;
		transform: translate3d(-100px, 0, 0);
		top: 0; left: calc(50% - 890px); }
	.data-heading-cloud-left.is-active { transform: translateZ(0); 	}
	.data-heading-cloud-right {
		position: absolute; top: 250px; right: calc(50% - 990px);
		width: 439px; height: 95px;
		transform: translate(80px); }
	.data-heading-cloud-right.is-active { transform: translate(0); }
}

@media (min-width:768px) {
	.data { margin: 0 auto; padding-bottom: 60px; }
	.data-heading-body { top: -150px; margin-bottom: -100px;}
	.link-heading,
	.past-heading { width: 433px; margin: 0 auto; }
}

.data-section-list { display: flex; width: 100%; margin-top: 90px; }
.data-concept { display: flex; justify-content: flex-end; width: 50%; background-color: #af3131; }
.data-concept-inner { position: relative; width: 640px; padding: 46px 96px 58px; }
.data-concept-bg {
	position: absolute; top: 85px; left: 30px;
	width: 677px; height: 735px;
	background-color: hsla(0, 0%, 100%, .3); }
.data-concept-heading { display: block; width: 423px; height: 54px; margin: 0 auto; }
.data-concept-intro {
	margin: 72px auto 30px;
	font-size: 18.7px; font-weight: 700; letter-spacing: 1.9px; text-align: center; color: #fff; }
.data-thought { display: flex; justify-content: flex-start; width: 50%; background-color: #c1af61; }
.data-thought-inner { position: relative; width: 640px; padding: 46px 100px; }
.data-thought-bg {
	position: absolute; top: 120px; left: -74px;
	width: 711px; height: 633px;
	background-color: hsla(0, 0%, 100%, .3); }
.data-thought-heading { display: block; width: 378px; height: 54px; margin: 0 auto; }
.data-logo { width: 261px; height: 122px; margin: 72px auto 50px; }
.data-thought-decoration-0 {
	position: absolute; bottom: 30px; right: -50px;
	width: 191px; height: 196px;
	transform: translateZ(0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.data-thought-decoration-0.is-active { transform: translateZ(0) scale(1); }
.data-thought-decoration-0.is-active > img, .data-thought-decoration-0.is-active > svg { animation: rotate 200s infinite; }
.data-thought-decoration-1 {
	position: absolute; bottom: 44px; right: 92px;
	width: 90px; height: 108px;
	transform: translateZ(0) scale(0) rotate(26deg);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.data-thought-decoration-1.is-active { transform: translateZ(0) scale(1) rotate(26deg); }
.data-thought-decoration-1.is-active > img,
.data-thought-decoration-1.is-active > svg { animation: shake 6s 2s infinite; }
.data-section-text { margin-top: 28px; font-size: 16px; font-weight: 700; font-stretch: normal; line-height: 1.75; letter-spacing: normal; text-align: justify; color: #fff; }
.data-table { padding: 80px calc(50% - 440px); }
.data-table-raw-group { display: flex; flex-wrap: wrap; width: 100%; padding: 12px 0; border-top: 1px solid #fff; }
.data-table-raw-group:last-child { border-bottom: 1px solid #fff; }
.data-table-term {
	width: 17.5%; margin: 12px 0;
	font-size: 16px; font-weight: 700; line-height: 1.63; letter-spacing: 1.6px; color: #fff; }
.data-table-desc { width: 82.5%; margin: 12px 0; }
.data-table-text { display: flex; font-size: 16px; line-height: 1.63; letter-spacing: 1.6px; color: #fff; }
.data-table-name { width: 114px; }
.data-text { margin: 38px 0 46px; padding: 0 20px; font-weight: 700; font-size: 12px; line-height: 1.75; letter-spacing: 1.2px; color: #000; }
.data-leaflet { padding: 30px 15px 0; }
.data-leaflet-item { color: #000; margin-bottom: 30px; }
.data-leaflet-item:last-child { margin-bottom: 0;}
.data-leaflet-image {
	display: block; min-height: 28px; padding-top: 5px; padding-left: 28px;
	background: url(../images/icon-pdf.png) no-repeat 0 0 / 19px 24px;
	transition: opacity .3s; }
.data-leaflet-image:hover { opacity: .5; }
.data-leaflet-pdf { margin-bottom: 6px; padding-top: 3px; font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: 1px; }
.data-leaflet-desc { font-size: 11px; line-height: 1.4; }
.data-banner { margin-top: 60px; }
.data-banner-heading { width: auto; height: 26px; margin: 0 auto 0; }
.data-banner-heading img { height: 100%; width: auto; margin: auto; }
.data-banner-desc { margin: 22px 0 40px; font-size: 12px; font-weight: 700; text-align: center; letter-spacing: 2px; color: #000; }

.data-banner-list { margin: 28px auto 0; }
.data-banner-list li { margin-bottom: 44px; padding: 0 20px; }
.data-banner-list li:last-child { margin-bottom: 0; }
.data-banner-list li a { display: block; }
.data-decoration-0,
.data-decoration-5 { position: absolute; z-index: 1; transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
.data-decoration-0 { top: 175px; left: calc(50% - 572px); width: 98px; height: 112px; transform: translate3d(-50%, 0, 0) scale(0); }
.data-decoration-5 { top: 56px; right: 0; width: 44px; height: 44px; transform: translate3d(50%, 0, 0) scale(0); }
.data-decoration-0.is-active { transform: translate3d(-50%, 0, 0) scale(1); }
.data-decoration-5.is-active { transform: translate3d(50%, 0, 0) scale(1); }
.data-decoration-0.is-active > img { animation: shake 6s 6s infinite; }
.data-decoration-5.is-active > img { animation: shake 6s 6s infinite; }


@media (min-width:768px) {
	.data-text { margin: 0 0 50px; padding: 0; font-size: 16px; letter-spacing: 1.6px; text-align: center; }
	.data-leaflet { display: flex; flex-wrap: wrap; width: 980px; padding: 20px 0 0; margin: 0 auto; }
	.data-leaflet-item { padding: 0; margin: 0 20px 10px 0; }
	.data-leaflet-image { min-height: 52px; padding-left: 40px; background-size: 28px 35px; }
	.data-leaflet-pdf { padding-bottom: 2px; margin-bottom: 1px; font-size: 16px; }
	.data-leaflet-desc { font-size: 12px; line-height: 1.9; }
	.data-banner { margin-top: 40px;}
	.data-banner-heading { top: 30px; text-align: center; }
	.data-banner-desc { font-size: 15px; letter-spacing: 2.5px; }
	.data-banner-list { display: flex; flex-wrap: wrap; width: 870px; }
	.data-banner-list li { width: 230px; margin: 0 30px 30px; padding: 0; }
	.data-banner-list li:last-child { width: 230px; margin: 0 30px 30px; padding: 0; }
	.data-banner-list li a { width: 230px; }
	.data-decoration-0 { top: 380px; left: calc(50% - 630px); width: 202px; height: 204px; }
	.data-decoration-5 { top: 1110px; right: calc(50% - 610px); z-index: 1; width: 136px; height: 170px; }
}


/* -------------------------
  .link
------------------------- */
.link {
	background: url(../images/bg-sponsor.png) repeat center top;
	padding-top: 20px;
	margin-bottom: -1px;
}
.link-list {
	display: flex; flex-wrap: wrap;
	margin: 28px auto 0; padding: 0 10px; }
.link-list li {
	padding: 0 15px;
	margin-bottom: 20px;
	width: 50%; }
@media (min-width:768px) {
	.link { padding-top: 68px; }
	.link-list {
		display: flex; flex-wrap: wrap;
		width: 980px; margin: 51px auto 0; padding: 0; }
	.link-list li { width: 160px; padding:  0; margin: 0 45px 40px 0; }
	.link-list li:nth-child(5n) { margin-right: 0; }
	.link-list li a { width: 152px; }
}

/* -------------------------
  .past
------------------------- */
.past { background: url(../images/bg-sponsor.png) repeat center top;
 padding-top: 20px; padding-bottom: 35px; }
.past-list {
	display: flex; flex-wrap: wrap;
	margin: 28px auto 0; padding: 0 5px; color: #000; text-align: center;}
.past-list li { width: 50%; margin-top: 50px; margin-bottom: 20px; padding: 0 15px; }
.past-list li a span { width: 177px; position: absolute; margin: -50px 0 0 -90px; }
.past-list li a span img { box-shadow: none; border: none; }

@media (min-width:768px) {
	.past { padding-top: 68px; }
	.past-list {
		justify-content: center;
		width: 1020px; margin: 43px auto 0; padding: 0; }
	.past-list li { width: 300px; margin: 50px 10px; padding: 0; }
}



/* バナー:hover*/
.banners a { display: block; background: #fff; }
.banners a img{ height: auto; box-shadow: 1px 2px 3px 1px rgba(0,0,0,0.5); border: 1px solid #fff; transition: .3s; }
.banners a:hover  img{ box-shadow: 1px 1px 1px -1px rgba(0,0,0,0.0); border-color: #00f; }
.banners a:active img { transform: scale(0.95); }








.side-button { display: none; position: fixed; top: 95px; right: 12px; z-index: 5; }
.is-loaded .side-button { transition: opacity .6s .75s; }
.is-loaded .side-button, .is-show-page .side-button { opacity: 1; pointer-events: auto; }
@media (min-width:768px) {
	.side-button { display: block; }
}
.side-button-item {
	display: flex; justify-content: center; align-items: center;
	width: 35px; height: 154px; margin: 6px 0;
	background-color: #8b1129;
	font-size: 14px; font-weight: 700; letter-spacing: 1.1px; color: #fff;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	transition: color .3s; }
.side-button-item:hover { color: hsla(0, 0%, 100%, .5); }

.toggle-button-wrapper { cursor: pointer; }
.toggle-button-line { background-color: #28457d; box-shadow: 0 1px 0 #fff; }











main { width: 100%; overflow-x: hidden; }
@media (min-width:768px) {
	main { padding-top: 70px; }
}


.box-normal {
	position: relative;
	width: calc(100% - 30px); margin: 40px 15px; padding-top: 30px; padding-bottom: 30px; border-radius: 8px;
	background: #fff; }

@media (min-width:768px) {
	.box-normal { width:1280px; margin: 40px auto; }
}



/* ---------------------
program page (body[data-view*="single-year"] )
----------------------- */
body[data-view*="single-year"]  .header { opacity: 1; }
.is-loaded .header { transition: opacity .6s .75s; }
.is-loaded .header, .is-show-page .header { opacity: 1; pointer-events: auto; }
.header-nav-text { color: #fff; }
.header-translation a.glink { border-color: #fff; color: #fff; }

.tab-content-wp { margin-bottom: 35px; }
.tab-content-wp body.mce-content-body { background-color: #5E5D24; padding: 60px !important; }
.tab-content-wp .translation-en { display: none; }
.translated-ltr .tab-content-wp .translation-en { display: inline-block; margin: 0 2px; }
.translated-ltr .tab-content-wp .translation-ja { display: none; }
.tab-content-wp * { clear: both; color: #000; }
.tab-content-wp img { width: 100%; height: auto; margin-bottom: 35px; max-width: none !important; }
.tab-content-wp img.full { width: 100%; margin-bottom: 40px; }
.tab-content-wp p { margin-top: 1em; font-size: 12px; font-weight: 700; line-height: 1.8; letter-spacing: 1px; }
.tab-content-wp h2 {
	position: relative;
	margin-top: 2em; margin-bottom: 17px; padding: 0 0 0 50px;
	border-bottom: dashed 2px #8b1129;
	font-size: 21px; font-weight: 700; line-height: 31px; letter-spacing: 1px; }
.tab-content-wp h2:first-child { margin-top: 0; }
.tab-content-wp h2:before {
	content: "";
	position: absolute; left: 0; top: 6px;
	width: 40px; height: 40px;
	background: url(../images/tab_heading_s.png) no-repeat 0 0 / 40px auto; }

.tab-content-wp h3 {
	margin-top: 2em; margin-bottom: 16px; padding: 2px 6px 2px 30px; border-top: 2px solid #000; border-bottom: 2px solid #000;
	font-size: 19px; font-weight: 700; line-height: 1.5;
	background: url(../images/tab_h3_bg.png) no-repeat 0 7px / 13px auto; }

.tab-content-wp h3 + p { margin-top: 0.5em; }
.tab-content-wp h4 {
	margin: 1.5em 0 0; padding-bottom: 4px; border-bottom: 1px solid #777; 
	font-size: 16px; font-weight: 700; letter-spacing: 0; line-height: 1.4; }
.tab-content-wp h4 + p { margin-top: 0.5em; }
.tab-content-wp h4 + ul.annotation { margin-top: 0.5em; margin-left: 1em; }
.tab-content-wp li { font-size: 16px; font-weight: 700; letter-spacing: 1.3px; line-height: 1.9; }

.tab-content-wp a { text-decoration: underline; }
.tab-content-wp .wp-caption { display: inline; margin-bottom: 50px; max-width: 720px; text-align: center; }
.tab-content-wp .wp-caption-text { margin-top: -20px; font-size: 13px; font-weight: 400; }
.tab-content-wp .wp-caption img { display: inline-block; width: 100%; }
.tab-content-wp blockquote { margin-bottom: 53px; padding: 30px; border-radius: 3px; background: #f4f4f4; }
.tab-content-wp blockquote p {
	margin-bottom: 0;
	font-weight: 400; color: #000; letter-spacing: 1.2px; line-height: 1.9; }
.tab-content-wp .aligncenter,
.tab-content-wp .alignleft,
.tab-content-wp .alignright { width: 100% !important; }
.tab-content-wp .column-set .column { width: 100%; }
.tab-content-wp .column-set .column .aligncenter,
.tab-content-wp .column-set .column .alignleft,
.tab-content-wp .column-set .column .alignright { float: none; }
.tab-content-wp .column-set .column img { width: 100%; }
.tab-content-wp .acf-editor-wrap iframe { min-height: 600px; }


@media (min-width:768px) {
	.tab-content-wp img { width: auto; max-width: 1000px !important; }
	.tab-content-wp .mce-content-body img.full { max-width: none !important; }
	.tab-content-wp p { font-size: 15px; letter-spacing: 1.3px; line-height: 1.9; }
	.tab-content-wp li { font-size: 21px; }
	.tab-content-wp h2 { margin-bottom: 23px; padding: 0 0 0 90px; font-size: 28px; line-height: 56px; letter-spacing: 1.4px; }
	.tab-content-wp h2:before { left: 0; top: 6px; width: 80px; height: 40px; background-size: 80px auto; }
	.tab-content-wp h3 {
		margin-bottom: 12px; padding: 8px 0 8px 30px; font-size: 24px; letter-spacing: 1.2px; border-width: 2px;
		background: url(../images/tab_h3_bg.png) no-repeat 0 10px / 22px auto; }
	.tab-content-wp h4 { font-size: 21px; margin: 3em 0 20px; }
	.tab-content-wp .wp-caption { display: block; }
	.tab-content-wp .wp-caption img { max-width: none; width: auto; }
	.tab-content-wp blockquote { padding: 61px 50px; background: #f4f4f4; }
	.tab-content-wp .aligncenter { width: auto !important; margin: 0 auto 50px; }
	.tab-content-wp .alignleft { float: left; width: auto !important; }
	.tab-content-wp .alignright { float: right; width: auto !important; }
	.tab-content-wp .column-set { display: flex; }
	.tab-content-wp .column-set.reverse { display: flex; flex-direction: row-reverse; }
	.tab-content-wp .column-set .column { width: 50%; }
	.tab-content-wp .column-set .column:nth-child(2),
	.tab-content-wp .column-set.reverse .column:first-child { padding-left: 30px; }
	.tab-content-wp .column-set.reverse .column:nth-child(2) { padding-left: 0; }
	.tab-content-wp .column-set .column .wp-caption { width: 100% !important; }
}

.program_intro {
	box-sizing: border-box;
	margin: 0 20px; padding: 20px 20px 60px;
	background: url(../images/bg-program-article.png);
	z-index: 5;
	position: relative; }
.program_intro:after {
	position: absolute; bottom: 20px; left: 0; right: 0;
	display: block; max-width: 1200px; width: 100%; height: 9px; margin: auto;
	background: url(../images/bg-program-article-line-pink.png) no-repeat center center;
	background-size: 90% auto;
	content: ""; }

@media (min-width:768px) {
	.program_intro { margin: 0; padding: 48px 32px 100px; }
	.program_intro:after { background-size: auto 9px; }

}

.main { position: relative; margin-bottom: 13.4vw; }
.main-title { margin-bottom: 10px; font-size: 27px; font-weight: 700; letter-spacing: 1px; line-height: 1.2; color: #000; }
.main-sub-title { margin-bottom: 24px; font-size: 16px; letter-spacing: .7px; line-height: 1.7; color: #000; }
.main-img { position: relative; z-index: 2; margin-bottom: 13px; background-size: cover; }
.main-img img { height: auto; }
.main-sns { display: flex; justify-content: center; padding: 0 30px; margin-bottom: 12px; }
.main-sns-item-text { position: relative; top: -2px; left: 10px; width: 100px; font-size: 10px; }
.main-sns-item-anc { display: block; height: 19px; line-height: 19px; }
.main-sns-item-anc img { position: absolute; left: 50%; width: 20px; }
.main-sns-item {
	position: relative; width: 77px; margin-right: 5px;
	white-space: nowrap; letter-spacing: -.5px; text-align: center; }
.main-sns-item:first-child { background: #385590; }
.main-sns-item:first-child .main-sns-item-anc img { width: 13px; margin-left: -25px; margin-top: 3px; }
.main-sns-item:nth-child(2) { background: #000; }
.main-sns-item:nth-child(2) .main-sns-item-anc img { width: 18px; margin-left: -30px; margin-top: 2px; }
.main-sns-item:nth-child(2) .main-sns-item-text { left: 0; }
.main-sns-item:nth-child(3) { background: #00a4de; }
.main-sns-item:nth-child(3) .main-sns-item-anc img { width: 17px; margin-left: -9.5px; margin-top: 2px; }
.main-program-tag { display: flex; flex-wrap: wrap; margin-bottom: 17px; padding: 0 30px; }
.main-program-tag-item {
	margin-right: 10px; margin-bottom: 12px; padding: 5px 26px;font-size: 10px; border-radius: 12px;
	font-weight: 700; letter-spacing: .5px; line-height: 13px; text-align: center; color: #fff; border: 1px solid #fff; }
.main-desc { font-size: 16px; line-height: 1.7; letter-spacing: .6px; color: #000; font-weight: 700; }

@media (min-width:768px) {
	.main { width: 1260px; margin: 0 auto 50px; padding: 0; }
	.main-title { margin-bottom: 14px; font-size: 36px; letter-spacing: 2px; }
	.main-sub-title { font-weight: 700; letter-spacing: .8px; }
	.main-img { width: 880px; margin: 0 auto 20px; }
	.main-sns { padding: 0; margin-bottom: 21px; }
	.main-sns-item { width: 102px; margin-right: 7px; font-weight: 700; }
	.main-sns-item-text { font-size: 12px; top: -1px; }
	.main-sns-item-anc { height: 30px; line-height: 30px; }
	.main-sns-item:first-child .main-sns-item-anc img { margin-left: -30px; margin-top: 8px; }
	.main-sns-item:nth-child(2) .main-sns-item-anc img { margin-left: -38px; margin-top: 8px;  }
	.main-sns-item:nth-child(3) .main-sns-item-anc img{ margin-left: -12.5px; margin-top: 8px;  }
	.main-program-tag { padding: 0; margin-bottom: 16px; }
	.main-program-tag-item { margin-right: 14px; padding: 9px 44px; border-radius: 15px; font-size: 14px; }
	.main-desc { padding: 0; font-size: 24px; line-height: 1.8; letter-spacing: 1px; }
}


.main-decoration-1,
.main-decoration-2 { display: none; position: absolute; opacity: 0; transition: transform 2s, opacity 2s; }

@media (min-width:768px) {
	.main-decoration-1 {
		position: absolute; display: block;
		transform: translate3d(50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

	.main-decoration-2 {
		position: absolute; display: block;
		transform: translate3d(-50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
 }

.main-decoration-1  { width: 270px; height: auto; top: 640px;  left: calc(50% -  798px); z-index: 1; transform: translate(210px) scale(0); }
.main-decoration-2  { width: 270px; height: auto; top: 305px; right: calc(50% -  930px); z-index: 1; transform: translate(210px) scale(0); }

.main-decoration-1.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main-decoration-2.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }

.main-decoration-1.is-active  img { animation: float 13s infinite; }
.main-decoration-2.is-active  img { animation: float 10s infinite; }



.main_program_object-1,
.main_program_object-2,
.main_program_object-3,
.main_program_object-4,
.main_program_object-5,
.main_program_object-6,
.main_program_object-7,
.main_program_object-8 { display: none; position: absolute; opacity: 0; transition: transform 2s, opacity 2s; }

@media (min-width:768px) {
	.main_program_object-1,
	.main_program_object-2,
	.main_program_object-3,
	.main_program_object-4 {
		position: absolute; display: block;
		transform: translate3d(50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

	.main_program_object-5,
	.main_program_object-6,
	.main_program_object-7,
	.main_program_object-8 {
		position: absolute; display: block;
		transform: translate3d(-50%, 0, 0) scale(0);
		transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }
 }

.main_program_object-1  { width: 456px; height: auto; top:   10%;  left: calc(50% -  960px); z-index: 1; transform: translate(210px) scale(0); }
.main_program_object-2  { width: 456px; height: auto; top:   12%;  left: calc(50% -  830px); z-index: 1; transform: translate(210px) scale(0); }
.main_program_object-3  { width: 265px; height: auto; top:   54%;  left: calc(50% - 1020px); z-index: 1; transform: translate(210px) scale(0); }
.main_program_object-4  { width: 456px; height: auto; top:   56%;  left: calc(50% - 1170px); z-index: 1; transform: translate(210px) scale(0); }
.main_program_object-5  { width: 265px; height: auto; top:   32%; right: calc(50% - 1054px); z-index: 1; transform: translate(210px) scale(0); }
.main_program_object-6  { width: 456px; height: auto; top:   45%; right: calc(50% -  840px); z-index: 1; transform: translate(210px) scale(0); }
.main_program_object-7  { width: 265px; height: auto; top:   75%; right: calc(50% -  930px); z-index: 1; transform: translate(-210px) scale(0); }
.main_program_object-8  { width: 265px; height: auto; top:   86%; right: calc(50% -  860px); z-index: 1; transform: translate(-210px) scale(0); }

.main_program_object-1.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main_program_object-2.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main_program_object-3.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main_program_object-4.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main_program_object-5.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main_program_object-6.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main_program_object-7.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.main_program_object-8.is-active  { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }

.main_program_object-1.is-active  img { animation: rotate 200s infinite; }
.main_program_object-2.is-active  img { animation: rotate 200s infinite; }
.main_program_object-3.is-active  img { animation: rotate 200s infinite; }
.main_program_object-4.is-active  img { animation: rotate 200s infinite; }
.main_program_object-5.is-active  img { animation: rotate 200s infinite; }
.main_program_object-6.is-active  img { animation: rotate 200s infinite; }
.main_program_object-7.is-active  img { animation: rotate 200s infinite; }
.main_program_object-8.is-active  img { animation: rotate 200s infinite; }



#overview { background: url(../images/bg-about.png) center top / 110px auto,  #fff; padding-bottom: 40px; }
@media (min-width:768px) {
	#overview { padding-bottom: 250px; }
}

.tab { position: relative; }
.is-no-report     .tab-list-item-overview .tab-list-item-img:nth-of-type(1) { display: none; }
.is-no-report     .tab-list-item-overview .tab-list-item-img:nth-of-type(2) { display: block; }
.is-no-report     .tab-list-item-report   .tab-list-item-img:nth-of-type(1) { display: block; }
.is-no-report     .tab-list-item-report   .tab-list-item-img:nth-of-type(2) { display: none; }

.is-show-overview .tab-list-item-overview .tab-list-item-img:nth-of-type(1) { display: none; }
.is-show-overview .tab-list-item-overview .tab-list-item-img:nth-of-type(2) { display: block; }
.is-show-overview .tab-list-item-report   .tab-list-item-img:nth-of-type(1) { display: block; }
.is-show-overview .tab-list-item-report   .tab-list-item-img:nth-of-type(2) { display: none; }

.is-show-report   .tab-list-item-overview .tab-list-item-img:nth-of-type(1) { display: block; }
.is-show-report   .tab-list-item-overview .tab-list-item-img:nth-of-type(2) { display: none; }
.is-show-report   .tab-list-item-report   .tab-list-item-img:nth-of-type(1) { display: none; }
.is-show-report   .tab-list-item-report   .tab-list-item-img:nth-of-type(2) { display: block; }

	.tab-list {
		display: flex; justify-content: space-between;
		width: calc(100% - 40px); margin: auto; padding: 0;
		position: relative; right: 0; left: 0; z-index: 3; }
.tab-list-item-img {
	position: absolute; bottom: 0; left: 0;
	width: 100%; height: auto; background: #fff; }
.tab-list-item { position: relative; width: 50%; }
.tab-list-item + .tab-list-item { margin-top: -2em; }

@media (min-width:768px) {
	.tab { padding-top: 80px; }
	.tab-list { width: 100%; max-width: 1260px; }
	.tab-list-item { width: 500px; height: 100px; }
	.tab-list-item + .tab-list-item { margin-top: 0; }
}

.tab-box { box-sizing: border-box; width: auto; margin: 0 20px; padding: 20px; background: #fff; }
.tab-box dl { color: #000;}
.is-show-overview .tab-box:first-of-type { display: block; }
.is-show-overview .tab-box:nth-of-type(2), .is-show-report .tab-box:first-of-type { display: none; }
.tab-box a { text-decoration: underline; }
.tab-deital { margin-bottom: 34px; }
.tab-deital .tab-heading { margin-bottom: 28px; }
.tab-overview .tab-heading { margin-bottom: 39px; }
.tab-heading {
	position: relative; margin-bottom: 28px; overflow: hidden; color: #000; font-size: 18px; font-weight: bold; }
.tab-heading-text {
	display: block; width: 100%; height: 32px; line-height: 1.5em;
	background: url(../images/tab_heading.png) no-repeat right top;
	background-size: auto 32px; margin: auto;
	font-size: 18px; font-weight: 700; color: #fff; text-indent: 20px; }
.tab-list-item-heading { height: auto; display: none; }

@media (min-width:768px) {
	.tab-box { max-width: 1260px; width: 100%; margin: 0 auto; padding: 40px; position: relative; z-index: 2; }
	.tab-box .inner dt,
	.tab-box .inner dd,
	.tab-box .inner li,
	.tab-box .inner p {font-size: 21px;}
	.tab-box a[href^="tel:"] { pointer-events: none; text-decoration: none; }
	.tab-deital { padding: 0; margin: 0 auto 54px; }
	.tab-overview .tab-heading { margin-bottom: 20px; }
	.tab-heading > span { margin: 0;}
	.tab-heading-text {
		font-size: 21px; line-height: 46px; height: 46px;
		background-size: 100% auto;}
	.tab-list-item-heading {
		height: 100px; text-indent: 100%;
		white-space: nowrap; overflow: hidden; 
		position: relative; z-index: 1; cursor: pointer; }

}


.tab-info { display: flex; font-weight: 700; margin-bottom: 21px; }
.tab-info-term { width: 3em; border-right: 1px solid #fff; line-height: 1.5; }
.tab-info-desc { width: calc(100% - 5em); margin-bottom: 11px; font-size: 14px; line-height: 1.5; letter-spacing: -.1px; }
.tab-info-desc p { font-size: 16px; }
.tab-info-map { display: inline-block; font-size: 13px; text-decoration: underline; }
.tab-info-map.is-hide { display: none; }
.is-report .tab-output-report { display: block; }
.is-no-report .tab-output-report { display: none; }
.tab-report-coming-soon { height: 600px; position: relative; }
.is-report .tab-report-coming-soon { display: none; }
.is-no-report .tab-report-coming-soon { display: block; }
.tab-report-coming-soon p {
	font-size: 20px; font-weight: 700;
	position: absolute; top: 10%; left: 50%;
	transform: translateY(-50%) translateX(-50%); }
.tab-info-lower-term {
	font-size: 14px; line-height: 1.3;
	margin-bottom: 20px; padding-left: 0; }
.tab-info-lower-desc { padding-bottom: 27px; padding-left: 8px;}
.tab-info-lower { font-weight: 700; margin-bottom: 28px; }
.tab-info-lower:last-of-type .tab-info-lower-desc { border-bottom: none; }
.tab-info-lower-desc-text { font-size: 12px; line-height: 1.9; letter-spacing: -.2px; }
.tab-info-lower-desc-text span.hyper-block {
	display: block; border: 2px solid #961f23;
	margin: 1em 0 0; padding: 10px 10px 10px 30px; box-shadow: 0px 0px 3px #961f23; }
.tab-info-lower-desc-text span.hyper-block span.hyper-headline {
	display: block; border-bottom: 1px dotted #333;
	margin: 0 0 -1em -20px; padding-bottom: 0.2em; }

.tab-box .inner dt,
.tab-box .inner dd,
.tab-box .inner p {font-size: 16px;}

/*
.tab-box .inner .profile .text p { font-size: 18px;}
*/
.tab-box .inner .profile { display: block;}
.tab-box .inner .profile .pic  { margin-right: 0; }


.tab-box .inner .list-title dl dt { font-weight: bold; position: absolute; margin-left: 0.5em; line-height: 1.5; }
.tab-box .inner .list-title dl dd { font-weight: bold; margin-left: 10em; line-height: 1.5; }

.tab-box .inner .alert { background: #fff; margin: 40px 0; border: 5px solid #f95d00; box-shadow: 0 0 7px #312000; }
.tab-box .inner .alert > *:first-child { margin-top: 0 !important;}
.tab-box .inner .alert p.title { margin-top: 2em; font-weight: bold; font-size: 24px; font-weight: bold; padding: 10px 20px; background: #f95d00; color: #fff; text-align: center;}
.tab-box .inner .alert p.title + * { margin-top: 0.5em; }
.tab-box .inner .alert p { font-weight: normal; line-height: 1.5; padding: 20px; }
.tab-box .inner .alert p span { background: linear-gradient(transparent 60%, #ffff39 60%);}

.tab-box ul.annotation { margin-top: 2em;}
.tab-box ul.annotation li{ list-style: none; margin-top: 1em; margin-left: 0.5em; text-indent: -1em; }
.tab-box ul li { margin-top: 1em; font-size: 18px; list-style: disc outside; margin-left: 1em; line-height: 1.2; }
.tab-box ol li { margin-top: 1em; font-size: 18px; list-style: decimal outside; margin-left: 1em; line-height: 1.2; }



@media (min-width:768px) {
	.tab-info { margin-bottom: 27px; }
	.tab-info-term {
		width: 5.6em; height: 19px; font-size: 21px; line-height: 19px; }
	.translated-ltr .tab-info-term { width: 140px; min-width: 140px; }
	.tab-info-desc { margin-top: -6px; }
	.tab-info-desc p {}
	.tab-info-map { padding-right: 30px; font-size: 17px; background-size: 11px 14px; }
	.tab-overview {
		margin: 0 auto; padding: 0;
		position: relative; }
	.tab-info-lower-term {
		width: 319px; height: 25px; margin-left: 13px; padding-left: 12px; border-width: 3px;
		font-size: 17px; line-height: 1.7; letter-spacing: 1.7px; }
	.tab-info-lower-desc { width: 100%; padding-bottom: 34px; padding-left: 0; }
	.tab-info-lower:nth-of-type(3) .tab-info-lower-term { height: 44px; }
	.tab-info-lower { display: flex; margin-bottom: 27px; }
	.tab-info-lower-desc-text { font-size: 16px; line-height: 1.7; letter-spacing: .9px; }
	.tab-info-lower-desc-text .adjust { display: inline-block; margin-right: 170px; }
	.tab-box .inner dt,
	.tab-box .inner dd,
	.tab-box .inner p {font-size: 21px;}
	.tab-box .inner .profile { display: flex;}
	.tab-box .inner .profile .pic  { margin-right: 40px; }
}


.tab-decoration-0,
.tab-decoration-1,
.tab-decoration-2,
.tab-decoration-3,
.tab-decoration-4,
.tab-decoration-5,
.tab-decoration-6,
.tab-decoration-7 { display: none; }

/* -------------------------- tab-decoration for SP ------------------------ */
@media (min-width:768px) {
	.tab-decoration-0,
	.tab-decoration-1,
	.tab-decoration-2,
	.tab-decoration-3,
	.tab-decoration-4,
	.tab-decoration-5,
	.tab-decoration-6,
	.tab-decoration-7 { display: block; position: absolute; z-index: 1; transition: transform 2s cubic-bezier(.15, 1.86, .19, 1);}

	.tab-decoration-0 { top: 130px; left: calc(50% - 790px);   width: 160px; height: 110px; transform: translate3d(-50%, 0, 0) scale(0); }
	.tab-decoration-1 { top: 370px; left: calc(50% - 890px);   width: 158px; height: 158px; transform: translate3d(-50%, 0, 0) scale(0); }
	.tab-decoration-2 { top: 550px; left: calc(50% - 750px);   width: 172px; height: 159px; transform: translate3d(-50%, 0, 0) scale(0); }
	.tab-decoration-3 { top: 300px; right: calc(50% - 1200px); width: 320px; height: 320px; transform: translate3d(-50%, 0, 0) scale(0); }
	.tab-decoration-4 { top: 592px; right: calc(50% - 880px);  width: 122px; height: 166px; transform: translate3d(-50%, 0, 0) scale(0); }
	.tab-decoration-5 { top: 740px; right: calc(50% - 980px);  width: 140px; height: 140px; transform: translate3d(-50%, 0, 0) scale(0); }
	.tab-decoration-6 { top: 820px; right: calc(50% - 890px);  width: 113px; height: 141px; transform: translate3d(-50%, 0, 0) scale(0); }

	.tab-decoration-0.is-active,
	.tab-decoration-1.is-active,
	.tab-decoration-2.is-active,
	.tab-decoration-3.is-active,
	.tab-decoration-4.is-active,
	.tab-decoration-5.is-active,
	.tab-decoration-6.is-active { transform: translate3d(-50%, 0, 0) scale(1); }

	.tab-decoration-1.is-active > img,
	.tab-decoration-3.is-active > img,
	.tab-decoration-4.is-active > img { animation: rotate 200s infinite; }
	.tab-decoration-0.is-active > img,
	.tab-decoration-2.is-active > img,
	.tab-decoration-4.is-active > img,
	.tab-decoration-6.is-active > img { animation: shake 6s 4s infinite; }
}
/* tab-decoration SP END */


.tab-cloud-left { display: none; }
.tab-cloud-left.is-active { opacity: 1; transform: translate3d(-190px, 0, 0); }
.tab-cloud-left.is-active > img { animation: float 10s infinite; }
.tab-cloud-right { display: none; }
.tab-cloud-right.is-active { opacity: 1; transform: translate(190px); }
.tab-cloud-right.is-active > img { animation: float 10s infinite; }

@media (min-width:768px) {
	.tab-cloud-left {
		position: absolute; top: 260px; left: calc(50% - 960px);
		display: block; width: 444px; height: 84px;
		opacity: 0;
		transition: transform 2s, opacity 2s;
		transform: translate(100px); }
	.tab-cloud-left.is-active { transform: translate(0); }
	.tab-cloud-right {
		position: absolute; top: 130px; right: calc(50% - 810px);
		display: block; width: 444px; height: 84px;
		opacity: 0;
		transition: transform 2s, opacity 2s;
		transform: translate(100px); }
	.tab-cloud-right.is-active { transform: translate(0); }
}


.box-normal {
	position: relative;
	width: calc(100% - 30px);
	margin: 40px 15px; padding-top: 30px; padding-bottom: 30px;
	background: #fff; }

@media (min-width:768px) {
	.box-normal { width:1280px; margin: 40px auto; }
}


/* -------------------------
 privacy policy
------------------------- */
.privacy-policy { padding: 80px 0; color: #000; background: #F5D3DC; }
.privacy-policy a { text-decoration: underline}
.privacy-policy-heading { width: 350px; margin: 0 auto 70px}
.privacy-policy-item-box { padding: 30px; background: rgba(255,255,255,0.9); margin: 0 20px; }
.privacy-policy-sub-title { font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: .8px; text-align: center; margin-bottom: 20px; }
.privacy-policy-read { font-size: 16px; line-height: 1.6; letter-spacing: .8px; margin-bottom: 40px; }
.privacy-policy-item-list { margin-bottom: 56px; }
.privacy-policy-item-group { margin-bottom: 58px; }
.privacy-policy-item-group:last-child { margin-bottom: 0; }
.privacy-policy-item-term { margin-bottom: 16px; font-weight: 700; font-size: 20px; letter-spacing: .8px; }
.privacy-policy-item-desc { font-size: 16px; padding-left: 0; }
.privacy-policy-item-text { font-size: 16px; line-height: 1.4; letter-spacing: .8px; }
.privacy-policy-item-reject-list { margin-top: 20px; margin-bottom: 20px; line-height: 1.4; font-size: 14px; }
.privacy-policy-item-reject-item { margin-bottom: 10px; margin-left: 1em; padding-left: 1em; text-indent: -3em; text-indent: -1em; }
.privacy-policy-deep-item-list { margin-top: 20px; margin-bottom: 20px; font-size: 12px; line-height: 1.4;}
.privacy-policy-deep-item-group { margin-bottom: 34px; }
.privacy-policy-deep-item-term { margin-bottom: 6px; font-size: 12px; }
.privacy-policy-deep-item-desc { padding-left: 20px; line-height: 1.4; font-size: 12px; }
.privacy-policy-deep-item-text { font-size: 16px; line-height: 1.4; }
.privacy-policy-committee { text-align: right; font-size: 16px; line-height: 1.8; }
.privacy-policy-revision { position: relative; right: -9px; }

@media (min-width:768px) {
	.privacy-policy-heading { width: 871px; margin: 0 auto 99px; }
	.privacy-policy-item-box { width: 912px; margin: 0 auto; }
	.privacy-policy-sub-title { font-size: 22px; line-height: 1.8; }
	.privacy-policy-sub-title br { display: none; }
	.privacy-policy-read { font-size: 18px; line-height: 1.8; margin-bottom: 80px; }
	.privacy-policy-item-term { font-size: 20px; margin-bottom: 27px; }
	.privacy-policy-item-desc { font-size: 18px; padding-left: 80px }
	.privacy-policy-item-text { font-size: 18px; line-height: 1.8; }
	.privacy-policy-item-reject-list { margin-top: 28px; margin-bottom: 28px; padding-left: 35px; line-height: 1.8; letter-spacing: .8px; font-size: 16px; }
	.privacy-policy-deep-item-list { margin-top: 34px; padding-left: 37px; }
	.privacy-policy-deep-item-term { letter-spacing: .8px; font-size: 16px; }
	.privacy-policy-deep-item-desc { font-size: 18px }
	.privacy-policy-deep-item-text { font-size: 18px; line-height: 1.8; letter-spacing: .8px; }
	.privacy-policy-committee { font-size: 18px; letter-spacing: .8px; }
	.privacy-policy-revision { right: -11px; }
}



.privacy-policy-decoration-0 {
	position: absolute; top: 39px; left: 0; z-index: 2; display: none;
	width: 120px; height: 120px;
	transform: translate3d(-50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }

.privacy-policy-decoration-1 {
	position: absolute; top: 39px; right: 0; z-index: 2; display: none;
	width: 120px; height: 120px;
	transform: translate3d(50%, 0, 0) scale(0);
	transition: transform 2s cubic-bezier(.15, 1.86, .19, 1); }


.privacy-policy-decoration-0.is-active { transform: translate3d(-50%, 0, 0) scale(1); }
.privacy-policy-decoration-1.is-active { transform: translate3d(50%, 0, 0) scale(1); }
.privacy-policy-decoration-0.is-active > img { position: relative; left: -43px; animation: rotate 200s infinite; }
.privacy-policy-decoration-1.is-active > img { position: relative; right: -43px; animation: rotate 200s infinite ; }


@media (min-width:768px) {
	.privacy-policy-decoration-0 { display: block; top: 173px; left: calc(50% - 600px); width: 279px; height: 278px; }
	.privacy-policy-decoration-1 { display: block; transform: translate3d(-50%, 0, 0) scale(0); top: 173px; right: calc(50% - 916px); width: 279px; height: 278px; }

	.privacy-policy-decoration-0.is-active { }
	.privacy-policy-decoration-1.is-active { transform: translate3d(-50%, 0, 0) scale(1); }
	.privacy-policy-decoration-1.is-active > img { right: 0; }
}