@charset "UTF-8";
@import url(/guide/tac/common/css/colorbox.css);
* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}
html {
	font-size: 16px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}

body, th, main .contents .format table td, td, input, select, textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
}

footer p, #navigation .menu a, main .contents h2, main .contents h3, main .contents .imagetitle, #toptocontents a, #topnews h2, #topnews .archive a {
	font-family: "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

body {
	margin: 0px auto;
	overflow: hidden;
}

img {
	border: 0px;
}

a {
	text-decoration: none;
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p {
	margin: 0px;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

header {
	position: fixed;
	width: 100%;
	height: 85px;
	top: 0px;
	background: #f0f0f0;
	-webkit-transition: background 0.4s;
	transition: background 0.4s;
	z-index: 100;
}
.sp header {
	height: 50px;
}
header.topslide {
	background: transparent;
}
header.topslide.nega #logo svg .logocls-3 {
	fill: #ffffff;
}
header.topslide.nega #menu a:before, header.topslide.nega #menu a:after,
header.topslide.nega #menu a span {
	background: #ffffff;
}
header > div {
	position: relative;
	width: 100%;
	max-width: 1240px;
	height: 85px;
	margin: auto;
	padding: 0px 20px;
}
.sp header > div {
	height: 50px;
	padding: 0px;
}
header #logo {
	position: absolute;
	top: 24px;
	left: 20px;
	width: 170px;
}
.sp header #logo {
	top: 11px;
	left: 10px;
	width: 130px;
}
header #logo img {
	display: block;
	width: 100%;
	height: auto;
}
header #logo svg {
	display: block;
	width: 170px;
	height: 37px;
}
.sp header #logo svg {
	width: 130px;
	height: 28px;
}
header #logo svg .logocls-3 {
	-webkit-transition: fill 0.4s;
	transition: fill 0.4s;
}
header #menu {
	position: absolute;
	top: 0px;
	right: 0px;
}
header #menu a {
	position: relative;
	display: block;
	width: 85px;
	height: 85px;
	text-indent: -10000px;
	overflow: hidden;
}
.sp header #menu a {
	width: 50px;
	height: 50px;
}
header #menu a:before {
	content: "";
	position: absolute;
	display: block;
	width: 34px;
	height: 4px;
	top: 29px;
	left: 25px;
	background: #000000;
	-webkit-transition: background 0.4s;
	transition: background 0.4s;
}
.sp header #menu a:before {
	width: 30px;
	top: 13px;
	left: 10px;
}
header #menu a:after {
	content: "";
	position: absolute;
	display: block;
	width: 34px;
	height: 4px;
	top: 53px;
	left: 25px;
	background: #000000;
	-webkit-transition: background 0.4s;
	transition: background 0.4s;
}
.sp header #menu a:after {
	width: 30px;
	top: 33px;
	left: 10px;
}
header #menu a span {
	position: absolute;
	width: 34px;
	height: 4px;
	top: 41px;
	left: 25px;
	background: #000000;
	-webkit-transition: background 0.4s;
	transition: background 0.4s;
}
.sp header #menu a span {
	width: 30px;
	top: 23px;
	left: 10px;
}

#bg {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: -1;
}
#bg .plain {
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(/guide/tac/common/images/bg.jpg);
	z-index: 1;
}
#bg .logo {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	bottom: 0px;
	z-index: 2;
	opacity: 0.05;
	overflow: hidden;
}
#bg .logo:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	max-width: 840px;
	height: 100vh;
	left: 50%;
	bottom: 0px;
	background: url(/guide/tac/common/images/bglogo.svg) no-repeat center center;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

#sns {
	margin-top: 100px;
	padding: 40px 0px;
}
.sp #sns {
	margin-top: 50px;
	padding: 20px 0px;
}
#sns ul {
	font-size: 0px;
	line-height: 0px;
	text-align: center;
}
#sns ul li {
	display: inline-block;
	margin: 0px 30px;
}
.sp #sns ul li {
	margin: 0px 15px;
}
#sns a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#sns a:hover {
	opacity: 0.7;
}
#sns a img {
	display: block;
}

footer {
	display: block;
	margin-top: 100px;
	background: #004097;
	min-height: 42px;
}
.sp footer {
	margin-top: 50px;
	min-height: 0;
}
footer > div {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 12px 20px;
	text-align: center;
	color: #ffffff;
}
.sp footer > div {
	padding: 6px 10px;
}
footer p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 20px;
}
.sp footer p {
	font-size: 2.3vw;
	line-height: 1.3;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
}

#pagetitle {
	margin-top: 85px;
	background: url(/guide/tac/common/images/bg.jpg);
}
.sp #pagetitle {
	margin-top: 50px;
}
#pagetitle > div {
	position: relative;
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 0px 20px;
	height: 160px;
}
.sp #pagetitle > div {
	padding: 0px 10px;
}
.sp #pagetitle > div {
	height: 80px;
}
#pagetitle h1 {
	position: absolute;
	margin: 0px;
	padding: 0px;
	top: 50%;
	height: 46px;
	transform: translateY(-50%);
}
.sp #pagetitle h1 {
	height: 26px;
}
#pagetitle h1 img {
	width: auto;
	height: 100%;
}

#navigation {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: #004097;
	z-index: 100;
	-webkit-transition: -webkit-transform 0ms 300ms, opacity 300ms;
	transition: transform 0ms 300ms, opacity 300ms;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	opacity: 0;
}
.nav #navigation {
	-webkit-transition: -webkit-transform 0ms, opacity 400ms;
	transition: transform 0ms, opacity 400ms;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}
#navigation .logo {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 0px 20px;
}
.sp #navigation .logo {
	padding: 0px 10px;
}
#navigation .logo a {
	position: absolute;
	display: block;
	top: 24px;
	left: 20px;
	width: 170px;
}
.sp #navigation .logo a {
	top: 11px;
	left: 10px;
	width: 130px;
}
#navigation .logo a img {
	display: block;
	width: 100%;
	height: auto;
}
#navigation .close {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 0px 20px;
}
.sp #navigation .close {
	padding: 0px 10px;
}
#navigation .close a {
	position: absolute;
	display: block;
	top: 0px;
	right: 0px;
	width: 85px;
	height: 85px;
	text-indent: -10000px;
	overflow: hidden;
}
.sp #navigation .close a {
	width: 50px;
	height: 50px;
}
#navigation .close a:before {
	content: "";
	position: absolute;
	display: block;
	width: 34px;
	height: 4px;
	top: 40px;
	left: 25px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.sp #navigation .close a:before {
	width: 30px;
	top: 23px;
	left: 10px;
}
#navigation .close a:after {
	content: "";
	position: absolute;
	display: block;
	width: 34px;
	height: 4px;
	top: 40px;
	left: 25px;
	background: #ffffff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.sp #navigation .close a:after {
	width: 30px;
	top: 23px;
	left: 10px;
}
#navigation .menu {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#navigation .menu li {
	-webkit-transition: -webkit-transform 300ms, opacity 300ms;
	transition: transform 300ms, opacity 300ms;
	-webkit-transform: translateY(80%);
	transform: translateY(80%);
	opacity: 0;
}
#navigation .menu li + li {
	margin-top: 40px;
}
.nav #navigation .menu li {
	-webkit-transition: -webkit-transform 400ms, opacity 300ms 100ms;
	transition: transform 400ms, opacity 300ms 100ms;
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
	opacity: 1;
}
.nav #navigation .menu li:nth-child(2) {
	-webkit-transition: -webkit-transform 400ms 20ms, opacity 300ms 120ms;
	transition: transform 400ms 20ms, opacity 300ms 120ms;
}
.nav #navigation .menu li:nth-child(3) {
	-webkit-transition: -webkit-transform 400ms 40ms, opacity 300ms 140ms;
	transition: transform 400ms 40ms, opacity 300ms 140ms;
}
.nav #navigation .menu li:nth-child(4) {
	-webkit-transition: -webkit-transform 400ms 60ms, opacity 300ms 160ms;
	transition: transform 400ms 60ms, opacity 300ms 160ms;
}
.nav #navigation .menu li:nth-child(5) {
	-webkit-transition: -webkit-transform 400ms 80ms, opacity 300ms 180ms;
	transition: transform 400ms 80ms, opacity 300ms 180ms;
}
#navigation .menu a {
	font-size: 52px;
	font-size: 3.25rem;
	line-height: 57.2px;
	line-height: 3.575rem;
	color: #ffffff;
	position: relative;
	display: inline-block;
}
#navigation .menu a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #ffffff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#navigation .menu a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.sp #navigation .menu a {
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
}

main {
	display: block;
}
main:after {
	content: "";
	display: block;
	clear: both;
}

main .contents * + .lead, main .contents * + .text, main .contents * + .image, main .contents * + .imagebox, main .contents * + .button, main .contents * + .table, main .contents * + .format, main .contents * + .googlemap, main .contents * + .youtube {
	margin-top: 32px;
}
.sp main .contents * + .lead, main .contents .sp * + .lead, .sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .button, main .contents .sp * + .button, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp main .contents * + .youtube, main .contents .sp * + .youtube {
	margin-top: 24px;
}

main .contents * + .column, main .contents * + .layout, main .contents * + .menu, main .contents * + .box {
	margin-top: 48px;
}

main .contents .lead * + p, main .contents .text * + p, main .contents .text * + ul, main .contents .text * + ol, main .contents .text * + .image.floatright, main .contents .text * + .image.floatleft {
	margin-top: 16px;
}

hr {
	display: block;
	margin: 80px auto -40px;
	border: 0px solid transparent;
	border-bottom: 1px solid #666666;
}
.sp hr {
	margin: 40px auto -20px;
}

main .contents {
	position: relative;
	padding: 0px;
}
main .contents:after {
	content: "";
	display: block;
	clear: both;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 90px 20px 50px;
}
.sp main .contents > div:not(.background) {
	padding: 45px 10px 25px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents > div.background {
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(255, 0, 0, 0.1);
	z-index: 0;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
	margin-top: 0px !important;
}
main .contents h1 {
	clear: both;
	display: block;
	margin: 0px 0px 32px;
	padding: 0px;
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
	font-weight: normal;
}
main .contents * + h1 {
	margin-top: 96px;
}
main .contents h2 {
	clear: both;
	display: block;
	margin: 0px 0px 50px;
	padding: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: bold;
}
.sp main .contents h2 {
	width: auto !important;
	margin-bottom: 25px;
}
main .contents h2 img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
.sp main .contents h2 img {
	display: none;
}
main .contents h2 span {
	display: none;
}
.sp main .contents h2 span {
	display: block;
}
main .contents h2.left img {
	margin-left: 0px;
}
main .contents * + h2 {
	margin-top: 110px;
}
.sp main .contents * + h2 {
	margin-top: 60px;
}
main .contents.news h2 {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
	margin: 0px 0px 20px;
}
main .contents.news .date {
	margin-bottom: 30px;
}
main .contents.news dl.dl_news {
	position: relative;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
main .contents.news dl.dl_news:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents.news dl.dl_news {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 19.5px;
	line-height: 1.21875rem;
}
main .contents.news dl.dl_news dt {
	clear: both;
	float: left;
	width: 8em;
}
.sp main .contents.news dl.dl_news dt {
	float: none;
}
main .contents.news dl.dl_news * + dt {
	margin-top: 40px;
}
.sp main .contents.news dl.dl_news * + dt {
	margin-top: 30px;
}
main .contents.news dl.dl_news * + dt:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	margin-top: -20px;
	background: rgba(255, 255, 255, 0.5);
}
.sp main .contents.news dl.dl_news * + dt:before {
	margin-top: -15px;
}
main .contents.news dl.dl_news dd {
	margin-left: 8.75em;
}
.sp main .contents.news dl.dl_news dd {
	margin-left: 0;
	margin-top: 10px;
}
main .contents.news dl.dl_news dd a {
	position: relative;
	display: inline-block;
}
main .contents.news dl.dl_news dd a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents.news dl.dl_news dd a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents.news dl.dl_news * + dt + dd {
	margin-top: 40px;
}
main .contents h3 {
	clear: both;
	display: block;
	margin: 0px 0px 30px;
	padding: 0px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	font-weight: bold;
}
.sp main .contents h3 {
	margin-bottom: 20px;
}
main .contents h3 img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
.sp main .contents h3 img {
	display: none;
}
main .contents h3 span {
	display: none;
}
.sp main .contents h3 span {
	display: block;
}
main .contents * + h3 {
	margin-top: 60px;
}
.sp main .contents * + h3 {
	margin-top: 30px;
}
main .contents h4 {
	clear: both;
	display: block;
	margin: 0px 0px 16px;
	padding: 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
main .contents * + h4 {
	margin-top: 32px;
}
main .contents .lead.center {
	text-align: center;
}
.sp main .contents .lead.center {
	text-align: left;
}
main .contents .lead p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
	font-weight: bold;
}
.sp main .contents .lead p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .stack {
	margin-top: 0px !important;
}
main .contents .imagetitle {
	clear: both;
	display: block;
	margin: 0px 0px 30px;
	padding: 0px 0px 10px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	font-weight: bold;
	border-bottom: 1px solid #000000;
}
.sp main .contents .imagetitle {
	margin-bottom: 20px;
}
main .contents .imagetitle img {
	display: block;
	margin: auto;
	margin-left: 0px;
	max-width: 100%;
	height: auto;
}
.sp main .contents .imagetitle img {
	display: none;
}
main .contents .imagetitle span {
	display: none;
}
.sp main .contents .imagetitle span {
	display: block;
}
main .contents * + .imagetitle {
	margin-top: 110px;
}
.sp main .contents * + .imagetitle {
	margin-top: 60px;
}
main .contents .text:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .text p {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 22.1px;
	line-height: 1.38125rem;
}
main .contents .text p .required {
	color: #fb3b3b;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p.error_mes {
	color: #fb3b3b;
}
main .contents .text p a {
	position: relative;
	display: inline-block;
}
main .contents .text p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004097;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text p a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text p.center {
	text-align: center;
}
.sp main .contents .text p.center {
	text-align: left;
}
main .contents .text p.right {
	text-align: right;
}
main .contents .text p span {
	display: block;
}
.sp main .contents .text p span {
	display: inline;
}
main .contents .text.indent p {
	text-indent: 1em;
}
main .contents .text ul {
	clear: both;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text ul > li {
	margin-left: 14px;
	text-indent: -14px;
}
main .contents .text ul > li:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 4px;
	background: #004097;
}
main .contents .text ul > li + li {
	margin-top: 4px;
}
main .contents .text ul > li a {
	position: relative;
	display: inline-block;
}
main .contents .text ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004097;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ul > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text ol {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	counter-reset: number;
}
main .contents .text ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
}
main .contents .text ol > li + li {
	margin-top: 4px;
}
main .contents .text ol > li a {
	position: relative;
	display: inline-block;
}
main .contents .text ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004097;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ol > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text .image.floatright {
	float: right;
	margin-left: 32px;
	margin-bottom: 16px;
}
.sp main .contents .text .image.floatright {
	margin-left: 16px;
	margin-bottom: 8px;
}
main .contents .text .image.floatleft {
	float: left;
	margin-right: 32px;
	margin-bottom: 16px;
}
.sp main .contents .text .image.floatleft {
	margin-right: 16px;
	margin-bottom: 8px;
}
.sp main .contents .text .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
main .contents .image p {
	margin: auto;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .image p {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 22.1px;
	line-height: 1.38125rem;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image p.center {
	text-align: center;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.left p {
	margin-left: 0px;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents .image.right p {
	margin-right: 0px;
}
main .contents .imagebox {
	display: table;
	width: 100%;
}
main .contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
	display: block;
}
.sp main .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
	padding-top: 32px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 32px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 32px;
}
main .contents .imagebox > .image img {
	width: 100%;
}
.sp main .contents .imagebox > .image img {
	width: auto;
}
main .contents .imagebox > .image p {
	width: auto !important;
	text-align: center;
}
main .contents .column {
	margin-bottom: -48px;
	margin-left: -48px;
	margin-right: -4px;
}
.sp main .contents .column {
	margin-left: -24px;
	margin-bottom: -24px;
}
main .contents .column:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .column > * {
	float: left;
	margin-bottom: 48px;
	margin-left: 48px;
}
.sp main .contents .column > * {
	margin-left: 24px;
	margin-bottom: 24px;
}
main .contents .column.col1 > * {
	width: calc((100% - 48px * 1 - 4px) / 1);
}
.sp main .contents .column.col1 > * {
	width: calc((100% - 24px * 1 - 4px) / 1);
}
.sp main .contents .column.spcol1 > * {
	width: calc((100% - 24px * 1 - 4px) / 1) !important;
}
main .contents .column.col2 > * {
	width: calc((100% - 48px * 2 - 4px) / 2);
}
.sp main .contents .column.col2 > * {
	width: calc((100% - 24px * 2 - 4px) / 2);
}
.sp main .contents .column.spcol2 > * {
	width: calc((100% - 24px * 2 - 4px) / 2) !important;
}
main .contents .column.col3 > * {
	width: calc((100% - 48px * 3 - 4px) / 3);
}
.sp main .contents .column.col3 > * {
	width: calc((100% - 24px * 3 - 4px) / 3);
}
.sp main .contents .column.spcol3 > * {
	width: calc((100% - 24px * 3 - 4px) / 3) !important;
}
main .contents .column.col4 > * {
	width: calc((100% - 48px * 4 - 4px) / 4);
}
.sp main .contents .column.col4 > * {
	width: calc((100% - 24px * 4 - 4px) / 4);
}
.sp main .contents .column.spcol4 > * {
	width: calc((100% - 24px * 4 - 4px) / 4) !important;
}
main .contents .column.col5 > * {
	width: calc((100% - 48px * 5 - 4px) / 5);
}
.sp main .contents .column.col5 > * {
	width: calc((100% - 24px * 5 - 4px) / 5);
}
.sp main .contents .column.spcol5 > * {
	width: calc((100% - 24px * 5 - 4px) / 5) !important;
}
main .contents .layout {
	display: table;
	width: calc(100% + 40px);
	margin-left: -20px;
	margin-right: -20px;
}
main .contents .layout > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
main .contents .layout:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .layout {
	width: calc(100% + 20px);
	margin-left: -10px;
	margin-right: -10px;
}
main .contents .layout > * {
	padding: 0px 20px;
}
.sp main .contents .layout > * {
	padding: 0px 10px;
}
main .contents .layout > *.left {
	text-align: left;
}
main .contents .layout > *.right {
	text-align: right;
}
main .contents .layout > *.top {
	vertical-align: top;
}
main .contents .layout > *.bottom {
	vertical-align: bottom;
}
.sp main .contents .layout.spcol1 {
	display: block;
	width: auto;
	margin-left: 0px;
	margin-bottom: -24px;
	margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
	display: block;
	margin-bottom: 24px;
	padding: 0px;
	width: auto !important;
}
.sp main .contents .button {
	text-align: center;
}
main .contents .button > div {
	display: inline-block;
	-webkit-perspective: 100px;
	perspective: 100px;
}
main .contents .button > div > * {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	background-color: #004097;
}
main .contents .button > div > *:hover {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #004bb1;
	opacity: 1;
}
main .contents .button > div > *.press {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #002a64;
	-webkit-transform: translateZ(-5px);
	transform: translateZ(-5px);
}
.sp main .contents .button > div {
	display: block;
}
main .contents .button > div + div {
	margin-left: 20px;
}
.sp main .contents .button > div + div {
	margin-top: 20px;
	margin-left: 0px;
}
main .contents .button a {
	position: relative;
	display: inline-block;
	min-width: 190px;
	padding: 12px 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #ffffff;
	text-align: left;
	font-weight: bold;
	border: 0px;
	cursor: pointer;
}
main .contents .button a:before {
	content: "";
	position: absolute;
	display: block;
	right: 5px;
	bottom: 5px;
	border: 5px solid transparent;
	border-right-color: #ffffff;
	border-bottom-color: #ffffff;
}
main .contents .button a.center {
	text-align: center;
}
.sp main .contents .button a {
	width: 100%;
}
main .contents .button.nega > div {
	-webkit-perspective: 100px;
	perspective: 100px;
}
main .contents .button.nega > div > * {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	background-color: #ffffff;
}
main .contents .button.nega > div > *:hover {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: white;
	opacity: 1;
}
main .contents .button.nega > div > *.press {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #e6e6e6;
	-webkit-transform: translateZ(-5px);
	transform: translateZ(-5px);
}
main .contents .button.nega a {
	color: #004097;
	border: 1px solid #004097;
}
main .contents .button.nega a:before {
	border-right-color: #004097;
	border-bottom-color: #004097;
}
main .contents .button.center {
	text-align: center;
}
main .contents .button.right {
	text-align: right;
}
.sp main .contents .button.right {
	text-align: center;
}
main .contents .table {
	overflow-x: auto;
}
main .contents .table table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
main .contents .table table tbody {
	border-top: 1px solid #b3b3b3;
	border-bottom: 1px solid #b3b3b3;
}
main .contents .table table th, main .contents .table .format table td, main .contents .format .table table td {
	padding: 20px 12px;
	vertical-align: middle;
	text-align: center;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #ffffff;
	background: #004097;
}
.sp main .contents .table table th, .sp main .contents .table .format table td, .sp main .contents .format .table table td {
	white-space: nowrap;
}
.sp main .contents .table table th span, .sp main .contents .table .format table td span, .sp main .contents .format .table table td span {
	display: block;
}
.sp main .contents .table table th * + span, .sp main .contents .table .format table td * + span, .sp main .contents .format .table table td * + span {
	margin-top: 4px;
}
main .contents .table table tbody th, main .contents .table .format table tbody td, main .contents .format .table table tbody td {
	vertical-align: top;
	text-align: left;
	color: #000000;
	background: #d9e0e4;
}
main .contents .table table td {
	padding: 20px;
	vertical-align: middle;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #000000;
	background: #ffffff;
}
main .contents .table table tbody tr:nth-child(even) th, main .contents .table .format table tbody tr:nth-child(even) td, main .contents .format .table table tbody tr:nth-child(even) td {
	background: #bbc8cf;
}
main .contents .table table tbody tr:nth-child(even) td {
	background: #d9d9d9;
}
main .contents .table table .left {
	text-align: left;
}
main .contents .table table .right {
	text-align: right;
}
main .contents .table table .center {
	text-align: center;
}
main .contents .table table .top {
	vertical-align: top;
}
main .contents .table table .bottom {
	vertical-align: bottom;
}
main .contents .table table .middle {
	vertical-align: middle;
}
main .contents .table > p {
	margin-top: 8px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .format table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
	border-bottom: 1px solid #b3b3b3;
}
main .contents .format table th, main .contents .format table td {
	padding: 16px 8px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
	color: #000000;
	border-top: 1px solid #b3b3b3;
}
main .contents .format table td {
	font-weight: normal;
}
.sp main .contents .format table {
	display: block;
}
.sp main .contents .format table tbody {
	display: block;
}
.sp main .contents .format table tr {
	display: block;
}
.sp main .contents .format table th, .sp main .contents .format table td {
	display: block;
}
.sp main .contents .format table td {
	display: block;
	padding-top: 0px;
	border-top: 0px;
}
main .contents .menu {
	margin-bottom: -20px;
	margin-left: -20px;
	margin-right: -4px;
}
main .contents .menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .menu {
	margin-bottom: -10px;
	margin-left: -10px;
}
main .contents .menu > * {
	float: left;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp main .contents .menu > * {
	margin-left: 10px;
	margin-bottom: 10px;
}
main .contents .menu.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
.sp main .contents .menu.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .menu.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .menu.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
.sp main .contents .menu.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .menu.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .menu.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
.sp main .contents .menu.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .menu.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .menu.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
.sp main .contents .menu.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .menu.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .menu.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
.sp main .contents .menu.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .menu.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .menu > a {
	position: relative;
	display: block;
	padding-bottom: calc(1.625rem + 26px);
	background: #ffffff;
	overflow: hidden;
}
.sp main .contents .menu > a {
	padding-bottom: calc(1.42188rem + 26px);
}
main .contents .menu > a:hover img {
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}
main .contents .menu > a div {
	overflow: hidden;
}
main .contents .menu > a img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
main .contents .menu > a strong {
	display: block;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
main .contents .menu > a strong span {
	display: inline-block;
}
.sp main .contents .menu > a strong {
	font-size: 17.5px;
	font-size: 1.09375rem;
	line-height: 22.75px;
	line-height: 1.42188rem;
}
main .contents .menu > a > span {
	position: absolute;
	display: block;
	width: 100%;
	bottom: 0px;
	padding: 12px 12px 16px;
	color: #ffffff;
	background: #004097;
}
main .contents .menu > a > span p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .menu > a > span p.more {
	font-weight: bold;
}
main .contents .menu > a > span p + p {
	margin-top: 8px;
}
main .contents .menu > a > span.slide {
	bottom: 50px;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
main .contents .menu > a > span.slide strong {
	padding-bottom: 16px;
}
html:not(.sp) main .contents .menu > a:hover > span.slide {
	-webkit-transform: translateY(0) !important;
	transform: translateY(0) !important;
}
main .contents .menu > a:after {
	content: "";
	position: absolute;
	display: block;
	bottom: 5px;
	right: 5px;
	border: 5px solid transparent;
	border-right-color: #ffffff;
	border-bottom-color: #ffffff;
}
main .contents .menu.simple a {
	padding: 19px 19px 0px;
	border: 1px solid #d9d9d9;
}
.sp main .contents .menu.simple a {
	padding: 9px 9px 0px;
}
main .contents .menu.simple a > span {
	position: static;
	display: table;
	width: 100%;
	padding-top: 0px;
	padding-bottom: 19px;
	color: #000000;
	background: transparent;
}
main .contents .menu.simple a > span > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
.sp main .contents .menu.simple a > span {
	padding-bottom: 9px;
}
main .contents .menu.simple a > div + span {
	padding-top: 12px;
}
main .contents .menu.simple a:after {
	border-right-color: #004097;
	border-bottom-color: #004097;
}
main .contents .box {
	padding: 32px;
	border: 1px solid #bbc8cf;
}
.sp main .contents .box {
	padding: 16px;
}
main .contents .googlemap {
	position: relative;
	padding-top: 50%;
}
.sp main .contents .googlemap {
	padding-top: 75%;
}
main .contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube {
	max-width: 960px;
	margin: auto;
}
main .contents .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
main .contents .youtube > div > iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .youtube p {
	margin-top: 8px;
}

body.op {
	height: 100vh;
}

#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #ffffff;
	z-index: 10000;
}
#splash.hide {
	transition: 1500ms;
	opacity: 0;
}
#splash > * {
	visibility: hidden;
}
#splash.start > * {
	visibility: visible;
}
#splash #bg01 {
	position: absolute;
	display: block;
	width: 35%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #22ac38;
	-webkit-transform: translateX(0vw);
	transform: translateX(0vw);
	z-index: 5;
}
#splash #bg01.s1 {
	width: 0px;
	-webkit-transition: 1500ms 1400ms cubic-bezier(0.6, 0.04, 0.98, 0.335);
	transition: 1500ms 1400ms cubic-bezier(0.6, 0.04, 0.98, 0.335);
	-webkit-transform: translateX(-133vw);
	transform: translateX(-133vw);
}
#splash #bg02 {
	position: absolute;
	display: block;
	width: 35%;
	height: 100%;
	top: 0px;
	left: 33.333%;
	background: #2ea7e0;
	-webkit-transform: translateX(0vw);
	transform: translateX(0vw);
	z-index: 5;
}
#splash #bg02.s1 {
	width: 0px;
	-webkit-transition: 1500ms 1200ms cubic-bezier(0.6, 0.04, 0.98, 0.335);
	transition: 1500ms 1200ms cubic-bezier(0.6, 0.04, 0.98, 0.335);
	-webkit-transform: translateX(-133vw);
	transform: translateX(-133vw);
}
#splash #bg03 {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 66.666%;
	background: #ffffff;
	-webkit-transform: translateX(0vw);
	transform: translateX(0vw);
	z-index: 5;
}
#splash #bg03.s1 {
	width: 0px;
	-webkit-transition: 1500ms 1000ms cubic-bezier(0.6, 0.04, 0.98, 0.335);
	transition: 1500ms 1000ms cubic-bezier(0.6, 0.04, 0.98, 0.335);
	-webkit-transform: translateX(-100vw);
	transform: translateX(-100vw);
}
#splash #bg04 {
	position: absolute;
	display: block;
	width: 100%;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	opacity: 0.5;
	z-index: 4;
}
#splash #bg04 img {
	display: block;
	width: 100%;
	max-width: 1200px;
	height: auto;
	margin: auto;
}
#splash #s01 {
	position: absolute;
	display: block;
	width: 70%;
	max-width: 840px;
	height: 70%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: url(/guide/tac/images/o1.svg) no-repeat center center;
	background-size: contain;
	-webkit-transform: translateX(100vw);
	transform: translateX(100vw);
	z-index: 10;
}
#splash #s01.s1 {
	-webkit-transition: 1100ms 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: 1100ms 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-transform: translateX(0vw);
	transform: translateX(0vw);
}
#splash #s01.s2 {
	-webkit-transition: 1600ms 0ms cubic-bezier(0.6, 0.04, 0.98, 0.335);
	transition: 1600ms 0ms cubic-bezier(1, 0.005, 0.425, 1);
	-webkit-transform: translateX(-100vw);
	transform: translateX(-100vw);
}
#splash #s02 {
	position: absolute;
	display: block;
	width: 70%;
	max-width: 840px;
	height: 70%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: url(/guide/tac/images/o2.svg) no-repeat center center;
	background-size: contain;
	-webkit-transform: translateX(100vw);
	transform: translateX(100vw);
	z-index: 10;
}
#splash #s02.s1 {
	-webkit-transition: 800ms 1000ms cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: 800ms 1000ms cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-transform: translateX(0vw);
	transform: translateX(0vw);
}
#splash #s02.s2 {
	-webkit-transition: 400ms 500ms;
	transition: 400ms 500ms;
	opacity: 0;
}

#toptitle {
	position: relative;
	width: 100%;
	max-width: 840px;
	margin: 140px auto 80px;
}
.sp #toptitle {
	margin-top: 70px;
	margin-bottom: 40px;
}
#toptitle h1 {
	position: absolute;
	margin: 0px;
	padding: 0px;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 30;
}
#toptitle h1 span {
	display: block;
	opacity: 0;
}
#toptitle h1 span + span {
	margin-top: 44px;
}
.sp #toptitle h1 span + span {
	margin-top: 22px;
}
#toptitle.show h1 span {
	opacity: 1;
	-webkit-transition: 1500ms;
	transition: 1500ms;
}
#toptitle.show h1 span + span {
	opacity: 1;
	-webkit-transition: opacity 1200ms 300ms !important;
	transition: opacity 1200ms 300ms !important;
}
#toptitle.slideon svg {
	-webkit-transition: 400ms;
	transition: 400ms;
	fill: #ffffff;
}
#toptitle.slideon svg .cls-1 {
	stroke: #ffffff;
}
#toptitle.quick h1 span {
	-webkit-transition: 0ms;
	transition: 0ms;
}
#toptitle.quick h1 span + span {
	-webkit-transition: opacity 0ms !important;
	transition: opacity 0ms !important;
}
#toptitle #stage {
	position: relative;
	margin-bottom: 90px;
}
.sp #toptitle #stage {
	margin-bottom: 45px;
}
#toptitle #stage img {
	display: block;
	width: 100%;
	height: auto;
}
#toptitle #m01 {
	position: absolute;
	width: 69.761904761904761904761904761905%;
	height: 30.434782608695652173913043478261%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#toptitle #m01:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	margin-left: -30%;
	background: url(/guide/tac/common/images/prompt.svg) no-repeat left top;
	background-size: auto 100%;
	opacity: 0;
}
#toptitle #m01:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(/guide/tac/images/m01.svg) no-repeat left top;
	background-size: auto 100%;
}
.sp #toptitle #m01:after {
	background-image: url(/guide/tac/images/m01.png);
}
#toptitle #m01.s1:before {
	margin-left: -15%;
	opacity: 1;
	-webkit-transform: translateX(140%);
	transform: translateX(140%);
	-webkit-transition: margin 400ms 200ms, opacity 300ms 200ms, -webkit-transform 900ms 200ms;
	transition: margin 400ms 200ms, opacity 300ms 200ms, transform 900ms 200ms;
}
#toptitle #m01.s1:after {
	width: 140%;
	-webkit-transition: width 900ms 240ms;
	transition: width 900ms 240ms;
}
#toptitle #m01.s2:before {
	opacity: 0;
	-webkit-transform: translateX(140%);
	transform: translateX(140%);
	-webkit-transition: opacity 200ms, -webkit-transform 200ms;
	transition: opacity 200ms, transform 200ms;
}
#toptitle #m01.s2:after {
	left: auto;
	right: 0px;
	width: 100%;
	background-position: right top;
	transition: left 0ms, right 0ms;
}
#toptitle #m01.s3:after {
	width: 0%;
	-webkit-transition: width 500ms 840ms;
	transition: width 500ms 840ms;
}
#toptitle #m02 {
	position: absolute;
	width: 69.761904761904761904761904761905%;
	height: 30.434782608695652173913043478261%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#toptitle #m02:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	margin-left: -30%;
	background: url(/guide/tac/common/images/prompt.svg) no-repeat left top;
	background-size: auto 100%;
	opacity: 0;
}
#toptitle #m02:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(/guide/tac/images/m02.svg) no-repeat left top;
	background-size: auto 100%;
}
#toptitle #m02.s1:before {
	margin-left: -15%;
	opacity: 1;
	-webkit-transform: translateX(140%);
	transform: translateX(140%);
	-webkit-transition: margin 400ms 200ms, opacity 300ms 200ms, -webkit-transform 900ms 800ms;
	transition: margin 400ms 200ms, opacity 300ms 200ms, transform 900ms 800ms;
}
#toptitle #m02.s1:after {
	width: 140%;
	-webkit-transition: width 900ms 840ms;
	transition: width 900ms 840ms;
}
#toptitle #m02.s2:before {
	opacity: 0;
	-webkit-transform: translateX(140%);
	transform: translateX(140%);
	-webkit-transition: opacity 200ms, -webkit-transform 200ms;
	transition: opacity 200ms, transform 200ms;
}
#toptitle #m02.s2:after {
	opacity: 0;
	-webkit-transition: opacity 500ms 800ms;
	transition: opacity 500ms 800ms;
}
#toptitle span {
	position: relative;
	display: block;
	z-index: 30;
}
#toptitle span img {
	display: block;
	width: 100%;
	max-width: 840px;
	height: auto;
}
#toptitle span svg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
}
#toptitle #slide {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0px;
	left: 0px;
	overflow: hidden;
	background: white;
}
#toptitle #slide:before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	opacity: 0;
	z-index: 1;
	-webkit-transition: 2000ms;
	transition: 2000ms;
}
#toptitle #slide.slideon:before {
	opacity: 1;
}
#toptitle #slide > div {
	position: absolute;
	top: 0px;
	left: 0px;
	width: calc(100% + 550px);
	font-size: 0px;
	z-index: 0;
}
#toptitle #slide ul {
	display: inline-block;
	width: 250px;
}
#toptitle #slide li {
	position: relative;
	width: 250px;
	padding-top: 100%;
	overflow: hidden;
}
#toptitle #slide li img {
	position: absolute;
	display: block;
	width: 250px;
	height: 250px;
	top: 0px;
	opacity: 1;
	-webkit-transition: 1500ms;
	transition: 1500ms;
}
#toptitle #slide li.in img {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	opacity: 0;
}

#toptocontents {
	position: fixed;
	width: 100%;
	max-width: 1200px;
	right: 50%;
	bottom: 40px;
	z-index: 50;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	opacity: 0;
	z-index: 1;
}
.sp #toptocontents {
	display: none;
}
#toptocontents.show {
	opacity: 1;
	transition: 800ms 800ms;
}
#toptocontents.slideon a {
	background: rgba(255, 255, 255, 0.8);
}
#toptocontents a {
	position: absolute;
	display: block;
	right: 40px;
	bottom: 0px;
	width: 100px;
	height: 100px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 95px;
	color: #004097;
	text-align: center;
	border: 1px solid #004097;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-transition: 1200ms;
	transition: 1200ms;
	opacity: 1;
}
#toptocontents a:hover {
	opacity: 0.7;
}
.sp #toptocontents a {
	width: 64px;
	height: 64px;
	right: 20px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 50px;
	background: rgba(255, 255, 255, 0.5);
}
#toptocontents a:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 12px;
	width: 14px;
	height: 20px;
	margin-left: -7px;
	background: url(/guide/tac/images/tocontents.png) no-repeat center center;
	-webkit-animation: adown 2.5s infinite;
	animation: adown 2.5s infinite;
}
#toptocontents.hide a {
	-webkit-transform: scale(0);
	transform: scale(0);
	opacity: 0;
}

@-webkit-keyframes adown {
	0% {
		-webkit-transform: translateY(-5px);
		opacity: 0;
	}
	20% {
		-webkit-transform: translateY(-5px);
		opacity: 0;
	}
	60% {
		opacity: 1;
	}
	100% {
		-webkit-transform: translateY(10px);
		opacity: 0;
	}
}
@keyframes adown {
	0% {
		transform: translateY(-5px);
		opacity: 0;
	}
	20% {
		transform: translateY(-5px);
		opacity: 0;
	}
	60% {
		opacity: 1;
	}
	100% {
		transform: translateY(10px);
		opacity: 0;
	}
}
#topnews {
	position: relative;
	background: #004097;
	z-index: 10;
}
#topnews > div {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 55px 20px 70px;
}
.sp #topnews > div {
	padding: 27.5px 10px 35px;
}
#topnews h2 {
	margin: 0px 0px 55px;
	padding: 0px;
	font-size: 48px;
	font-size: 3rem;
	line-height: 52.8px;
	line-height: 3.3rem;
	letter-spacing: 2px;
	color: #ffffff;
}
.sp #topnews h2 {
	margin-bottom: 15px;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
	letter-spacing: 2px;
}
.sp #topnews h2 span {
	font-size: 19.5px;
	font-size: 1.21875rem;
	line-height: 21.45px;
	line-height: 1.34063rem;
	letter-spacing: 2px;
}
#topnews h2 span {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 39.6px;
	line-height: 2.475rem;
	letter-spacing: 2px;
}
#topnews .archive {
	position: absolute;
	right: 20px;
	top: 64px;
}
.sp #topnews .archive {
	position: static;
	margin-bottom: 20px;
	text-align: right;
}
#topnews .archive a {
	display: inline-block;
	padding: 8px 12px;
	color: #004097;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #ffffff;
	border: 1px solid #ffffff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topnews .archive a:hover {
	opacity: 0.7;
}
.sp #topnews .archive a {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 14.3px;
	line-height: 0.89375rem;
}
#topnews dl {
	position: relative;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	color: #ffffff;
}
#topnews dl:after {
	content: "";
	display: block;
	clear: both;
}
.sp #topnews dl {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 19.5px;
	line-height: 1.21875rem;
}
#topnews dl dt {
	clear: both;
	float: left;
	width: 8em;
}
.sp #topnews dl dt {
	float: none;
}
#topnews dl * + dt {
	margin-top: 40px;
}
.sp #topnews dl * + dt {
	margin-top: 30px;
}
#topnews dl * + dt:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	margin-top: -20px;
	background: rgba(255, 255, 255, 0.5);
}
.sp #topnews dl * + dt:before {
	margin-top: -15px;
}
#topnews dl dd {
	margin-left: 8.75em;
}
.sp #topnews dl dd {
	margin-left: 0;
	margin-top: 10px;
}
#topnews dl dd a {
	color: #ffffff;
	position: relative;
	display: inline-block;
}
#topnews dl dd a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #ffffff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#topnews dl dd a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#topnews dl * + dt + dd {
	margin-top: 40px;
}

#topmenulist {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 80px 20px 0px;
}
.sp #topmenulist {
	padding: 40px 10px 0px;
}
#topmenulist > div {
	margin: 0px -5px -65px -30px;
	font-size: 0px;
	line-height: 0px;
}
.sp #topmenulist > div {
	margin: 0px -5px -40px -15px;
}
#topmenulist > div > span,
#topmenulist > div > a {
	display: inline-block;
	width: calc((100% - 95px) / 3);
	max-width: 380px;
	margin-left: 30px;
	margin-bottom: 65px;
	vertical-align: top;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#topmenulist > div > span:hover,
#topmenulist > div > a:hover {
	opacity: 0.7;
}
.sp #topmenulist > div > span, .sp
#topmenulist > div > a {
	width: calc((100% - 35px) / 2);
	margin-left: 15px;
	margin-bottom: 40px;
}
#topmenulist > div > span .tag,
#topmenulist > div > a .tag {
	position: relative;
	display: block;
	width: 100%;
	height: 22px;
	margin: 0px 0px 5px auto;
	overflow: hidden;
}
.sp #topmenulist > div > span .tag, .sp
#topmenulist > div > a .tag {
	width: 100%;
	height: 14.666666666666666666666666666667px;
}
#topmenulist > div > span .tag span,
#topmenulist > div > a .tag span {
	display: block;
	width: 150px;
	height: 22px;
	margin: 0px auto;
	text-indent: -10000px;
	background: url(/guide/tac/images/menutag.png) no-repeat left top;
	background-size: auto 100%;
}
.sp #topmenulist > div > span .tag span, .sp
#topmenulist > div > a .tag span {
	width: 100px;
	height: 14.666666666666666666666666666667px;
}
#topmenulist > div > span .tile,
#topmenulist > div > a .tile {
	display: block;
}
#topmenulist > div > span .tile .image,
#topmenulist > div > a .tile .image {
	display: block;
	position: relative;
}
#topmenulist > div > span .tile .image .title,
#topmenulist > div > span .tile .image .titlehover,
#topmenulist > div > a .tile .image .title,
#topmenulist > div > a .tile .image .titlehover {
	position: absolute;
	left: 50%;
	top: 50%;
	max-width: calc(100% - 40px);
	height: auto;
	z-index: 10;
	-webkit-transition: -webkit-transform 400ms 200ms, opacity 400ms 200ms;
	transition: transform 400ms 200ms, opacity 400ms 200ms;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
}
#topmenulist > div > span .tile .image .titlehover,
#topmenulist > div > a .tile .image .titlehover {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%) scale(1.5);
	transform: translate(-50%, -50%) scale(1.5);
	-webkit-transition: -webkit-transform 400ms, opacity 400ms;
	transition: transform 400ms, opacity 400ms;
}
#topmenulist > div > span .tile .image .bg,
#topmenulist > div > a .tile .image .bg {
	display: block;
	width: 100%;
	height: auto;
}
#topmenulist > div > span .tile .lead,
#topmenulist > div > a .tile .lead {
	display: block;
	margin-top: 15px;
}
#topmenulist > div > span .tile .lead img,
#topmenulist > div > a .tile .lead img {
	display: block;
	width: 100%;
	height: auto;
}
#topmenulist > div > span.popup .tag,
#topmenulist > div > a.popup .tag {
	width: 74px;
	transition: width 800ms 200ms;
}
.sp #topmenulist > div > span.popup .tag, .sp
#topmenulist > div > a.popup .tag {
	width: 49.333333333333333333333333333333px;
}
#topmenulist > div > span.popup .tile,
#topmenulist > div > a.popup .tile {
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
	-webkit-transition: 800ms 200ms;
	transition: 800ms 200ms;
}
#topmenulist > div > span.popup .tile .image .title,
#topmenulist > div > a.popup .tile .image .title {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%) scale(1.5);
	transform: translate(-50%, -50%) scale(1.5);
	-webkit-transition: 800ms 400ms;
	transition: 800ms 400ms;
}
#topmenulist > div > span.popup.view .tag,
#topmenulist > div > a.popup.view .tag {
	width: 100%;
}
#topmenulist > div > span.popup.view .tile,
#topmenulist > div > a.popup.view .tile {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}
#topmenulist > div > span.popup.view .tile .image .title,
#topmenulist > div > a.popup.view .tile .image .title {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
}
#topmenulist > div > span {
	cursor: default;
}
#topmenulist > div > span:hover .tile .image .title {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%) scale(0.5);
	transform: translate(-50%, -50%) scale(0.5);
	-webkit-transition: -webkit-transform 400ms, opacity 400ms;
	transition: transform 400ms, opacity 400ms;
}
#topmenulist > div > span:hover .tile .image .titlehover {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	-webkit-transition: -webkit-transform 400ms 200ms, opacity 400ms 200ms;
	transition: transform 400ms 200ms, opacity 400ms 200ms;
}

#point {
	margin: 0px -5px -20px -20px;
	font-size: 0;
	line-height: 0;
	text-align: center;
}
.sp #point {
	margin-bottom: 0px;
}
#point > div {
	display: inline-block;
	width: calc((100% - 85px) / 3);
	margin-left: 20px;
	margin-bottom: 20px;
}
.sp #point > div {
	display: block;
	width: calc((100% - 25px) / 1);
}
#point > div.popup {
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
	-webkit-transition: -webkit-transform 800ms 200ms, opacity 800ms 200ms;
	transition: transform 800ms 200ms, opacity 800ms 200ms;
}
#point > div.popup .image .title {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%) scale(1.5);
	transform: translate(-50%, -50%) scale(1.5);
	-webkit-transition: 800ms 400ms;
	transition: 800ms 400ms;
}
#point > div.popup.view {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}
#point > div.popup.view .image .title {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
}
#point a {
	position: relative;
	display: block;
	max-width: 380px;
	margin: auto;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	color: #ffffff;
	overflow: hidden;
}
#point a img {
	display: block;
	max-width: 100%;
	height: auto;
}
#point a:before {
	content: "";
	display: block;
	position: absolute;
	width: 150%;
	height: 100%;
	left: -200%;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	-webkit-transition: opacity 600ms 100ms, left 0ms 800ms;
	transition: opacity 600ms 100ms, left 0ms 800ms;
}
#point a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -50%;
	border: 120px solid transparent;
	border-left: 40px solid rgba(0, 0, 0, 0.5);
	border-right: 0px;
	opacity: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: opacity 600ms 100ms, left 0ms 800ms;
	transition: opacity 600ms 100ms, left 0ms 800ms;
}
#point a span {
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 6% 6% 0;
	top: 0px;
	left: 0px;
	text-align: left;
	overflow: hidden;
	opacity: 0;
	-webkit-transition: 600ms 200ms;
	transition: 600ms 200ms;
}
#point a span:before {
	content: "";
	display: block;
	position: absolute;
	width: 7.894736842105263157894736842105%;
	height: 14.553990610328638497652582159624%;
	bottom: 9.389671361502347417840375586854%;
	right: 5.263157894736842105263157894737%;
	background: url(/guide/tac/common/images/zoom.png) no-repeat center center;
	background-size: 100% auto;
}
#point a span strong {
	display: block;
	margin: 0px auto 3%;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	text-align: center;
	font-weight: normal;
}
#point a.cover:before, html:not(.sp) #point a:hover:before {
	opacity: 1;
	left: 0%;
	-webkit-transition: left 800ms, opacity 200ms;
	transition: left 800ms, opacity 200ms;
}
#point a.cover:after, html:not(.sp) #point a:hover:after {
	opacity: 1;
	left: 150%;
	-webkit-transition: left 800ms, opacity 200ms;
	transition: left 800ms, opacity 200ms;
}
#point a.cover span, html:not(.sp) #point a:hover span {
	opacity: 1;
	-webkit-transition: opacity 600ms 200ms;
	transition: opacity 600ms 200ms;
}

main .contents.event {
	position: relative;
	min-height: calc(100vh - 142px);
}
.sp main .contents.event {
	min-height: 0;
}
main .contents.event .bg {
	position: fixed;
	width: 100%;
	height: 100%;
	max-width: none;
	padding: 0;
	z-index: -1;
	background: url(/guide/tac/event/images/bg02.jpg) no-repeat;
	background-size: cover;
}
.sp main .contents.event .bg {
	display: none;
}
main .contents.event .bg .front {
	position: fixed;
	width: 100%;
	height: 100%;
	max-width: none;
	padding-top: 0;
	background: url(/guide/tac/event/images/bg01.jpg) no-repeat;
	background-size: cover;
	z-index: -3;
}
main .contents.event .bg .back {
	position: fixed;
	width: 100%;
	height: 100%;
	max-width: none;
	padding-top: 0;
	background: url(/guide/tac/event/images/bg02.jpg) no-repeat;
	background-size: cover;
	z-index: -5;
}
main .contents.event .bg.special {
	background-image: url(/guide/tac/special/images/bg02.jpg);
}
main .contents.event .bg.special .front {
	background-image: url(/guide/tac/special/images/bg01.jpg);
}
main .contents.event .bg.special .back {
	background-image: url(/guide/tac/special/images/bg02.jpg);
}
main .contents.event > div {
	position: static;
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: 130px 20px 50px;
}
.sp main .contents.event > div {
	padding: 65px 10px 25px;
}
.sp main .contents.event > div {
	width: auto;
}
main .contents.event > div h1 {
	margin-bottom: 40px;
}
.sp main .contents.event > div h1 {
	margin-bottom: 25px;
}
.sp main .contents.event > div h1 img {
	width: auto;
	height: 20px;
}
main .contents.event > div .news_area {
	background: #fff;
	padding: 25px;
}
.sp main .contents.event > div .news_area {
	padding: 0;
}
main .contents.event > div .news_area .news_item {
	display: block;
	color: #000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents.event > div .news_area .news_item:after {
	content: "";
	display: block;
	clear: both;
}
main .contents.event > div .news_area .news_item:hover {
	opacity: 0.7;
}
main .contents.event > div .news_area .news_item + .news_item {
	margin-top: 30px;
}
main .contents.event > div .news_area .news_item .img {
	float: left;
	width: 300px;
}
.sp main .contents.event > div .news_area .news_item .img {
	float: none;
	margin: 0 auto;
	width: 100%;
	max-width: 300px;
}
main .contents.event > div .news_area .news_item .img img {
	width: 100%;
}
main .contents.event > div .news_area .news_item .tx {
	float: left;
	width: calc(100% - 325px);
	padding-left: 25px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents.event > div .news_area .news_item .tx {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 22.1px;
	line-height: 1.38125rem;
	width: 100%;
	padding-left: 0px;
	margin-top: 15px;
}
main .contents.event > div .news_area .news_item .tx .title {
	margin-top: 5px;
	font-weight: bold;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
.sp main .contents.event > div .news_area .news_item .tx .title {
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 25.5px;
	line-height: 1.59375rem;
}
main .contents.event > div .news_area .news_item .tx .summary {
	margin-top: 15px;
}
main .contents.event > div .news_area .news_item .tx .detail {
	margin-top: 15px;
	color: #004097;
}
main .contents.event > div .news_area_edit {
	background: #fff;
	padding: 25px;
}
.sp main .contents.event > div .news_area_edit {
	padding: 0;
}
main .contents.event > div .news_area_edit .title {
	margin-top: 10px;
	font-weight: bold;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
.sp main .contents.event > div .news_area_edit .title {
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 25.5px;
	line-height: 1.59375rem;
}
main .contents.event > div .news_area_edit .link_btn {
	text-align: center;
}
main .contents.event > div .news_area_edit .link_btn > a {
	position: relative;
	display: inline-block;
	border: 2px solid #000;
	width: 60px;
	height: 60px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	vertical-align: top;
}
main .contents.event > div .news_area_edit .link_btn > a:hover {
	opacity: 0.7;
}
main .contents.event > div .news_area_edit .link_btn > a:before {
	content: "";
	position: absolute;
	left: 25px;
	top: 8px;
	width: 2px;
	height: 25px;
	background: #000;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
}
main .contents.event > div .news_area_edit .link_btn > a:after {
	content: "";
	position: absolute;
	left: 25px;
	top: 25px;
	width: 2px;
	height: 25px;
	background: #000;
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
}
main .contents.event > div .news_area_edit .link_btn > a.next:before {
	left: 28px;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
}
main .contents.event > div .news_area_edit .link_btn > a.next:after {
	left: 28px;
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
}
main .contents.event > div .news_area_edit .link_btn > a + a {
	margin-left: 10px;
}
main .contents.event > div .news_area_edit .link_btn > a.back {
	width: auto;
	line-height: 60px;
	color: #000;
	padding: 0 10px;
	font-weight: bold;
}
main .contents.event > div .news_area_edit .link_btn > a.back:before {
	display: none;
}
main .contents.event > div .news_area_edit .link_btn > a.back:after {
	display: none;
}
main .contents.event > div .special_area {
	background: #fff;
	padding: 50px 25px 25px;
}
.sp main .contents.event > div .special_area {
	padding: 0;
}
main .contents.event > div .special_area .countdown {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , serif;
	text-align: center;
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
}
.sp main .contents.event > div .special_area .countdown {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
main .contents.event > div .special_area .countdown br {
	display: none;
}
.sp main .contents.event > div .special_area .countdown br {
	display: block;
}
main .contents.event > div .special_area .countdown span {
	color: #004094;
	font-size: 48px;
	font-size: 3rem;
	line-height: 62.4px;
	line-height: 3.9rem;
}
.sp main .contents.event > div .special_area .countdown span {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 47.6px;
	line-height: 2.975rem;
}
main .contents.event > div .special_area .notice {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , serif;
	text-align: center;
	margin-top: 15px;
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 36.4px;
	line-height: 2.275rem;
}
.sp main .contents.event > div .special_area .notice {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
main .contents.event > div .special_area .item {
	margin-top: 30px;
}
main .contents.event > div .special_area .item + .item {
	margin-top: 50px;
}
main .contents.event > div .special_area .item .title {
	margin-top: 5px;
	font-weight: bold;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
.sp main .contents.event > div .special_area .item .title {
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 25.5px;
	line-height: 1.59375rem;
}
main .contents.event > div .special_area .item div.img {
	margin-top: 20px;
}
main .contents.event > div .special_area .item div.img:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents.event > div .special_area .item div.img {
	margin-top: 10px;
}
main .contents.event > div .special_area .item div.img > div {
	float: left;
	width: 32%;
	margin-left: 2%;
}
main .contents.event > div .special_area .item div.img > div:nth-of-type(3n+1) {
	margin-left: 0;
	clear: both;
}
main .contents.event > div .special_area .item div.img > div:nth-of-type(n+4) {
	margin-top: 2%;
}
.sp main .contents.event > div .special_area .item div.img > div {
	float: none;
	width: 100%;
	margin-left: 0;
	margin-top: 15px;
}
main .contents.event > div .special_area .item div.img > div img {
	width: 100%;
}
main .contents.event > div .special_area .item div.img > div .caption {
	margin-top: 5px;
}
main .contents.event > div .special_area .item .note {
	margin-top: 20px;
}
