@charset "UTF-8";
/*
* main.css
*
*/
/* ------------------------
  reset
------------------------ */
html,
body {
	height: 100%;
}

*,
*:after,
*:before {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}

pre,
textarea {
	overflow: auto;
}

[hidden],
audio:not([controls]),
template {
	display: none;
}

details,
main,
summary {
	display: block;
}

input[type=number] {
	width: auto;
}

input[type=search] {
	-webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

progress {
	display: inline-block;
}

small {
	font-size: 75%;
}

sub,
sup {
	position: relative;
	vertical-align: baseline; 
	font-size: 75%;
	line-height: 0;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

textarea {
	resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

img {
	border: 0; 
	max-width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	min-height: 1.5em;
	color: inherit;
	font-family: inherit; 
	font-weight: inherit;
	font-style: inherit;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer; 

	-webkit-appearance: button;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0; 
	border: 0;
}

input {
	line-height: normal;
}

code,
kbd,
pre,
samp {
	font-family: monospace,monospace;
}

ol,
ul {
	list-style: none;
}

select {
	   -moz-appearance: none;
	-webkit-appearance: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

fieldset {
	border: 0;
}

/* ------------------------
  Base Settings
------------------------ */
html {
	font-size: 16px;
}

body {
	background-color: #fff;
	word-wrap: break-word; 
	color: #000;
	font-family: Arial, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	line-height: 1.6875;

	-webkit-font-smoothing: antialiased;
	        font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

a {
	text-decoration: underline; 
	color: #000;
}
a:visited {
	color: #000080;
}
a:hover {
	text-decoration: none; 
	color: #f00;
}
a:active {
	text-decoration: none; 
	color: #ff8000;
}
a[href^="tel:"] {
	cursor: text; 
	text-decoration: none;
}

::-moz-selection {
	background-color: #036eb8;
	color: #fff;
	text-shadow: none;
}

::selection {
	background-color: #036eb8;
	color: #fff;
	text-shadow: none;
}

/* ------------------------
  utilities Classes
------------------------ */
.u-hidden {
	display: none !important;
	visibility: hidden;
}

@media screen and (min-width: 751px) {
	.u-hidden-small {
		display: block !important;
		visibility: visible;
	}
}

@media screen and (min-width: 751px) and (max-width: 750px) {
	.u-hidden-small {
		display: block !important;
		visibility: visible;
	}
}

@media screen and (max-width: 750px) {
	.u-hidden-small {
		display: none !important;
		visibility: hidden;
	}
}

@media screen and (min-width: 751px) {
	.u-hidden-medium {
		display: block !important;
		visibility: visible;
	}
}

@media screen and (min-width: 751px) and (max-width: 750px) {
	.u-hidden-medium {
		display: none !important;
		visibility: hidden;
	}
}

@media screen and (max-width: 750px) {
	.u-hidden-medium {
		display: none !important;
		visibility: hidden;
	}
}

@media screen and (min-width: 751px) {
	.u-hidden-large {
		display: none !important;
		visibility: hidden;
	}
}

@media screen and (min-width: 751px) and (max-width: 750px) {
	.u-hidden-large {
		display: block !important;
		visibility: visible;
	}
}

@media screen and (max-width: 750px) {
	.u-hidden-large {
		display: block !important;
		visibility: visible;
	}
}

.u-visuallyhidden {
	overflow: hidden;
	clip: rect(0 0 0 0); 
	position: absolute;
	margin: -1px;
	padding: 0;
	border: 0;
	width: 1px;
	height: 1px;
}

.u-visuallyhidden.focusable:active,
.u-visuallyhidden.focusable:focus {
	overflow: visible;
	clip: auto; 
	position: static;
	margin: 0;
	width: auto;
	height: auto;
}

.u-invisible {
	visibility: hidden;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* ------------------------
  Components
  corpColor
  heeader
  gnav
  main
  vertical_lines
  breadcrumb
  pageTop
  footer
  link_btn
  subpage（下層ページ）
------------------------ */
/* ------------------------
  Components
------------------------ */
.container {
	overflow: hidden; 
	min-width: 320px;
	letter-spacing: 1px;
}
@media screen and (min-width: 751px) {
	.container {
		min-width: 1100px;
	}
}

.js-ready .subheaders_contents:after {
	visibility: hidden;
	opacity: 0;
	transition: 0.5s all cubic-bezier(0, 0, 0.58, 1) 0.5s;
}

.js-ready .subh,
.js-ready .subtxt {
	visibility: hidden;
	opacity: 0;
	transition: 0.5s all cubic-bezier(0, 0, 0.58, 1) 0.5s;
}

.js-ready.js-active .subheaders_contents:after {
	visibility: visible; 
	opacity: 1;
}

.js-ready.js-active .subh,
.js-ready.js-active .subtxt {
	visibility: visible; 
	opacity: 1;
}

.js-active .open_lines:before,
.js-active .open_lines:after {
	content: "";
	position: absolute;
	z-index: 1; 
	top: 0;
	width: 1px;
}

.js-active .open_lines:before {
	-webkit-animation: 1s headersAnime_red cubic-bezier(0.23, 1, 0.32, 1) forwards;
	        animation: 1s headersAnime_red cubic-bezier(0.23, 1, 0.32, 1) forwards; 
	background: #cb0400;
}

.js-active .open_lines:after {
	-webkit-animation: 1s headersAnime_blue cubic-bezier(0.23, 1, 0.32, 1) forwards;
	        animation: 1s headersAnime_blue cubic-bezier(0.23, 1, 0.32, 1) forwards; 
	background: #0f158c;
}

@-webkit-keyframes headersAnime_red {
	0% {
		right: 50%; 
		width: 1px;
		height: 0;
	}
	25% {
		right: 50%; 
		width: 1px;
		height: 100%;
	}
	65% {
		right: 50%; 
		width: 50%;
		height: 100%;
	}
	100% {
		right: 100%; 
		width: 50%;
		height: 100%;
	}
}

@keyframes headersAnime_red {
	0% {
		right: 50%; 
		width: 1px;
		height: 0;
	}
	25% {
		right: 50%; 
		width: 1px;
		height: 100%;
	}
	65% {
		right: 50%; 
		width: 50%;
		height: 100%;
	}
	100% {
		right: 100%; 
		width: 50%;
		height: 100%;
	}
}

@-webkit-keyframes headersAnime_blue {
	0% {
		left: 50%; 
		width: 1px;
		height: 0;
	}
	25% {
		left: 50%; 
		width: 1px;
		height: 100%;
	}
	65% {
		left: 50%; 
		width: 50%;
		height: 100%;
	}
	100% {
		left: 100%; 
		width: 50%;
		height: 100%;
	}
}

@keyframes headersAnime_blue {
	0% {
		left: 50%; 
		width: 1px;
		height: 0;
	}
	25% {
		left: 50%; 
		width: 1px;
		height: 100%;
	}
	65% {
		left: 50%; 
		width: 50%;
		height: 100%;
	}
	100% {
		left: 100%; 
		width: 50%;
		height: 100%;
	}
}

.cover_img {
	overflow: hidden; 
	position: relative;
	margin-top: 32px;
	width: 100%;
	max-height: 200px;
}
@media screen and (min-width: 751px) {
	.cover_img {
		margin-top: 64px;
		max-height: 360px;
	}
}
.cover_img img {
	width: 100%;
	height: 200px;
	font-family: "object-fit: cover;"; 

	object-fit: cover;
}
@media screen and (min-width: 751px) {
	.cover_img img {
		height: 360px;
	}
}

/* ------------------------
  corpColor
------------------------ */
.tagline {
	display: block;
	width: 100%;
	height: 3px;
	background: #cb0400;
	background: linear-gradient(to right, #cb0400 50%, #cb0400 50%, #0f158c 50%); 
	background-color: #cb0400;
}
@media screen and (min-width: 751px) {
	.tagline {
		height: 4px;
	}
}

.section_header {
	overflow: hidden;
	letter-spacing: -2px; 
	word-wrap: normal;
	color: rgba(0, 0, 0, 0.02);
	font-size: 91px;
	font-weight: bold;
	line-height: 1;
}
@media screen and (min-width: 751px) {
	.section_header {
		letter-spacing: 0; 
		font-size: 220px;
	}
}
.section_header span {
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	    -ms-transform: translate(-50%, 0);
	        transform: translate(-50%, 0);
}

.subheaders {
	text-align: center;
	font-size: 0;
}
.subheaders .subheaders_contents {
	display: inline-block;
	overflow: hidden; 
	position: relative;
	padding-bottom: 25px;
}
@media screen and (min-width: 751px) {
	.subheaders .subheaders_contents {
		padding-bottom: 40px;
	}
}
.subheaders .subheaders_contents:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 30px;
	height: 2px;
	background: #cb0400;
	background: linear-gradient(to right, #cb0400 50%, #cb0400 50%, #0f158c 50%); 
	background-color: #cb0400;
}
@media screen and (min-width: 751px) {
	.subheaders .subheaders_contents:after {
		width: 40px;
		height: 3px;
	}
}
.subheaders .subh {
	padding-top: 0.1em;
	letter-spacing: 3px; 
	font-size: 30px;
	line-height: 1;
}
@media screen and (min-width: 751px) {
	.subheaders .subh {
		letter-spacing: 4px;
		font-size: 50px;
		line-height: 1.2;
	}
}
@media screen and (max-width: 750px) {
	.en .subheaders .subh {
		letter-spacing: 1px;
	}
}
.subheaders .subtxt {
	margin-top: 10px;
	font-size: 12px;
	font-weight: bold; 
	line-height: 1;
}
@media screen and (min-width: 751px) {
	.subheaders .subtxt {
		margin-top: 20px;
		font-size: 18px;
	}
}
.subheaders h3.subh {
	font-size: 22px;
}
@media screen and (min-width: 751px) {
	.subheaders h3.subh {
		font-size: 31px;
	}
}
.subheaders.h2 .subheaders_contents {
	padding-bottom: 15px;
}
@media screen and (min-width: 751px) {
	.subheaders.h2 .subheaders_contents {
		padding-bottom: 25px;
	}
}
.subheaders.h2 .subh {
	font-size: 30px;
}
@media screen and (min-width: 751px) {
	.subheaders.h2 .subh {
		font-size: 44px;
	}
}
@media screen and (min-width: 751px) {
	.subheaders.h2 .subtxt {
		margin-top: 15px;
		font-size: 16px;
	}
}
.subheaders.h3 .subheaders_contents {
	padding-bottom: 18px;
}
@media screen and (min-width: 751px) {
	.subheaders.h3 .subheaders_contents {
		padding-bottom: 28px;
	}
}
.subheaders.h3 .subh {
	font-size: 22px;
}
@media screen and (min-width: 751px) {
	.subheaders.h3 .subh {
		font-size: 32px;
	}
}
.subheaders.h3 .subtxt {
	margin-top: 5px;
}
@media screen and (min-width: 751px) {
	.subheaders.h3 .subtxt {
		margin-top: 10px;
	}
}
.subheaders.h4 .subheaders_contents {
	padding-bottom: 18px;
}
@media screen and (min-width: 751px) {
	.subheaders.h4 .subheaders_contents {
		padding-bottom: 25px;
	}
}
.subheaders.h4 .subheaders_contents:after {
	width: 23px;
}
@media screen and (min-width: 751px) {
	.subheaders.h4 .subheaders_contents:after {
		width: 30px;
	}
}
.subheaders.h4 .subh {
	font-size: 19px;
}
@media screen and (min-width: 751px) {
	.subheaders.h4 .subh {
		font-size: 26px;
	}
}

/* ------------------------
  heeader
------------------------ */
.header {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
}
.header .inner {
	position: relative;
	z-index: 1;
	padding: 65px 0 0; 
	height: 65px;
}
@media screen and (min-width: 751px) {
	.header .inner {
		display: -ms-flexbox;
		display: flex;
		padding: 0 50px 0 0; 
		height: 84px;

		-ms-flex-align: center;

		    align-items: center;
		-ms-flex-pack: end;
		    justify-content: flex-end;
	}
}
.header .inner:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 100%;
	transition: 0.3s width cubic-bezier(0.23, 1, 0.32, 1), 0.3s background-color cubic-bezier(0.23, 1, 0.32, 1), 0.3s box-shadow cubic-bezier(0.23, 1, 0.32, 1); 
	background-color: transparent;
}
.header.is-open .inner:after,
.header.is-fixed .inner:after {
	content: "";
	width: 100%;
	background-color: #fff;
	box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 751px) {
	.header.is-open .inner:after,
	.header.is-fixed .inner:after {
		box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
	}
}

.header_h {
	position: absolute;
	z-index: 10; 
	top: 0;
	left: 0;
}
.header_h a {
	display: block;
	padding: 15px 19px;
	background: #fff;
}
@media screen and (min-width: 751px) {
	.header_h a {
		padding: 18px 34px;
	}
}
.header_h a img {
	width: 81px;
}
@media screen and (min-width: 751px) {
	.header_h a img {
		width: 112px;
	}
}

/* ------------------------
  gnav
------------------------ */
.gnavBtn {
	position: absolute;
	z-index: 10;
	top: 10px;
	right: 10px;
	padding: 18px 14px;
	border: none;
	width: 45px;
	height: 45px;
	transition: 0.3s background-color cubic-bezier(0.23, 1, 0.32, 1), 0.3s box-shadow cubic-bezier(0.23, 1, 0.32, 1); 
	background-color: transparent;
}
.gnavBtn .line {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	transition: 0.3s all cubic-bezier(0.23, 1, 0.32, 1); 
	-webkit-transform: translate(-50%, -50%) translate3d(0, 0, 0); 
	        transform: translate(-50%, -50%) translate3d(0, 0, 0);
	background: #fff;
}
.gnavBtn .line_01 {
	margin-top: -5px;
}
.is-fixed .gnavBtn .line_01,
.subpage .gnavBtn .line_01,
.is-open .gnavBtn .line_01 {
	background: #cb0400;
}
.gnavBtn .line_02 {
	margin-top: 3px;
}
.is-fixed .gnavBtn .line_02,
.subpage .gnavBtn .line_02,
.is-open .gnavBtn .line_02 {
	background: #0f158c;
}
.is-open .gnavBtn .line_01 {
	margin-top: -3px;
	-webkit-transform: translate(-50%, -50%) rotate(-135deg) translate3d(0, 0, 0);
	        transform: translate(-50%, -50%) rotate(-135deg) translate3d(0, 0, 0);
	-webkit-transform-origin: 50% 100%;
	    -ms-transform-origin: 50% 100%;
	        transform-origin: 50% 100%;
}
.is-open .gnavBtn .line_02 {
	margin-top: 0;
	-webkit-transform: translate(-50%, -50%) rotate(135deg) translate3d(0, 0, 0);
	        transform: translate(-50%, -50%) rotate(135deg) translate3d(0, 0, 0);
	-webkit-transform-origin: 50% 0;
	    -ms-transform-origin: 50% 0;
	        transform-origin: 50% 0;
}
.is-open .gnavBtn,
.is-fixed .gnavBtn,
.subpage .gnavBtn {
	background-color: #fff;
	box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.12);
}

.gnav {
	position: relative;
	border-top: 1px solid #f4f3f3; 
	background: #fff;
}
@media screen and (max-width: 750px) {
	.gnav {
		visibility: hidden;
		opacity: 0;
		height: 100vh;
		height: calc(100vh - 65px);
		transition: 0.3s opacity cubic-bezier(0.23, 1, 0.32, 1), 0.3s visibility cubic-bezier(0.23, 1, 0.32, 1);
	}
}
@media screen and (min-width: 751px) {
	.gnav {
		display: -ms-flexbox;
		display: flex;
		border-top: none; 
		background: transparent;

		-ms-flex-align: center;

		    align-items: center;
	}
}
@media screen and (max-width: 750px) {
	.is-open .gnav {
		visibility: visible; 
		opacity: 1;
	}
}

.gnav_lists {
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 750px) {
	.gnav_lists {
		overflow: scroll; 
		padding: 35px 0 0;
		width: 100%;
		height: calc(100vh - 65px - 67px);
	}
}
@media screen and (min-width: 751px) {
	.gnav_lists {
		padding: 0;
	}
}
.gnav_lists li {
	position: relative;
	margin-left: 28%;
	padding: 25px 0 15px 30px;
	line-height: 1;
}
@media screen and (min-width: 751px) {
	.gnav_lists li {
		display: inline-block;
		margin: 0; 
		padding: 0 0 0 25px;
	}
}
.gnav_lists li:before {
	content: "";
	position: absolute;
	top: 35px;
	left: 0;
	margin-top: -1px;
	width: 15px;
	height: 1px;
	background: #000;
}
@media screen and (min-width: 751px) {
	.gnav_lists li:before {
		content: normal;
	}
}
.gnav_lists li a,
.gnav_lists li span {
	display: inline-block;
	position: relative;
	text-decoration: none;
	font-size: 23px;
	font-weight: bold;
}
@media screen and (min-width: 751px) {
	.gnav_lists li a,
	.gnav_lists li span {
		font-size: 15px;
	}
}
.gnav_lists li a {
	position: relative;
	color: #000;
}
@media screen and (min-width: 751px) {
	.gnav_lists li a {
		padding: 35px 0 34px;
		transition: 0.3s color cubic-bezier(0.23, 1, 0.32, 1); 
		color: #fff;
	}
}
.gnav_lists li a:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	margin: auto;
	width: 0%;
	height: 2px;
	-webkit-transform: translate(-50%, 0);
	    -ms-transform: translate(-50%, 0);
	        transform: translate(-50%, 0); 
	background: #cb0400;
	background: linear-gradient(to right, #cb0400 50%, #cb0400 50%, #0f158c 50%);
	background-color: #cb0400;
}
@media screen and (min-width: 751px) {
	.gnav_lists li a:after {
		bottom: 0;
		height: 3px;
		transition: 0.3s width cubic-bezier(0.23, 1, 0.32, 1);
	}
}
@media screen and (min-width: 751px) {
	.is-fixed .gnav_lists li a,
	.subpage .gnav_lists li a {
		color: #000;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lists li a:hover {
		color: #cb0400;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lists li a:hover:after {
		width: 100%;
	}
}
.gnav_lists li span {
	color: #aaa;
}
@media screen and (min-width: 751px) {
	.gnav_lists li span {
		color: #464646;
	}
}
@media screen and (min-width: 751px) {
	.is-fixed .gnav_lists li span,
	.subpage .gnav_lists li span {
		color: #aaa;
	}
}

.gnav_lang {
	display: -ms-flexbox;
	display: flex;
	position: relative;
	z-index: 1;
	height: 67px;
	background: #f4f3f3; 

	-ms-flex-pack: center; 

	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}
@media screen and (max-width: 750px) {
	.gnav_lang {
		width: 100%;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang {
		display: block;
		margin-left: 40px;
		height: auto;
		cursor: pointer; 
		background: transparent;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang:after {
		content: "";
		display: block;
		position: absolute;
		padding-bottom: 15px; 
		width: 100%;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang.hidden-pc {
		display: none;
	}
}
@media screen and (max-width: 750px) {
	.gnav_lang.hidden-sp {
		display: none;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang li {
		display: none;
	}
}
.gnav_lang li + li {
	position: relative;
	margin-left: 20px;
	padding-left: 24px;
}
@media screen and (min-width: 751px) {
	.gnav_lang li + li {
		position: static;
		margin: 0;
		padding: 0;
	}
}
.gnav_lang li + li:before {
	content: "/";
	position: absolute;
	left: 0;
}
@media screen and (min-width: 751px) {
	.gnav_lang li + li:before {
		content: normal;
	}
}
.gnav_lang li a {
	text-decoration: none;
	color: #000;
	font-size: 16px;
	font-weight: bold;
}
@media screen and (min-width: 751px) {
	.gnav_lang .is-selected {
		display: inline-block;
		border-width: 2px;
		border-style: solid;
		border-color: rgba(255, 255, 255, 0.2);
		width: 58px;
		line-height: 1;
	}
}
@media screen and (min-width: 751px) {
	.is-fixed .gnav_lang .is-selected,
	.subpage .gnav_lang .is-selected {
		border-color: #e5e5e5;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang .is-selected span {
		display: inline-block;
		position: relative;
		padding: 6px 12px;
		padding-right: 14px;
		text-decoration: none;
		color: #fff;
		font-size: 12px;
		font-weight: bold; 
		line-height: 1;
		line-height: 1;
	}
}
@media screen and (min-width: 751px) {
	.subpage .gnav_lang .is-selected span,
	.is-fixed .gnav_lang .is-selected span {
		color: #000;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang .is-selected span:after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 0;
		margin-top: -3px;
		border-width: 6px 3px 0 3px;
		border-style: solid;
		border-color: #fff transparent transparent transparent; 
		width: 0;
		height: 0;
	}
}
@media screen and (min-width: 751px) {
	.is-fixed .gnav_lang .is-selected span:after,
	.subpage .gnav_lang .is-selected span:after {
		border-color: #cb0400 transparent transparent transparent;
	}
}
@media screen and (max-width: 750px) {
	.gnav_lang .is-selected a {
		position: relative;
		color: #cb0400;
	}
	.gnav_lang .is-selected a:after {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		bottom: -7px;
		left: 50%;
		margin: auto;
		width: 100%;
		height: 2px;
		-webkit-transform: translate(-50%, 0);
		    -ms-transform: translate(-50%, 0);
		        transform: translate(-50%, 0); 
		background: #cb0400;
		background: linear-gradient(to right, #cb0400 50%, #cb0400 50%, #0f158c 50%);
		background-color: #cb0400;
	}
}
@media screen and (max-width: 750px) and (min-width: 751px) {
	.gnav_lang .is-selected a:after {
		right: auto;
		bottom: 0;
		height: 3px;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang .gnav_lang_selecter {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 100%;
		left: 50%;
		padding: 15px 0 0;
		cursor: auto;
		transition: 0.3s visibility 0.1s cubic-bezier(0.23, 1, 0.32, 1), 0.3s opacity 0.1s cubic-bezier(0.23, 1, 0.32, 1);
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang .gnav_lang_select_body {
		padding: 15px 20px;
		border-width: 1px;
		border-style: solid;
		border-color: white;
		-webkit-transform: translate(-50%, 0);
		    -ms-transform: translate(-50%, 0);
		        transform: translate(-50%, 0); 
		background: #fff;
		background-color: white;
		box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.15);
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang .gnav_lang_select_body .gnav_lang_select {
		font-size: 12px;
		font-weight: bold;
		line-height: 2;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang .gnav_lang_select_body .gnav_lang_select a {
		text-decoration: none; 
		color: #000;
	}
}
@media screen and (min-width: 751px) {
	.gnav_lang.is-selectLang .gnav_lang_selecter {
		visibility: visible; 
		opacity: 1;
	}
}

.gnav_vertical_lines {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: auto; 
	width: 88%;
	height: 100%;
}
@media screen and (min-width: 751px) {
	.gnav_vertical_lines {
		display: none;
	}
}

.vertical_line {
	position: absolute;
	top: 0;
	width: 1px;
	height: 100%;
	background: #f5f5f5;
}

.vertical_line_01 {
	left: 0;
}
@media screen and (min-width: 751px) {
	.vertical_line_01 {
		left: 7.5%;
	}
}

.vertical_line_02 {
	left: 25%;
}
@media screen and (min-width: 751px) {
	.vertical_line_02 {
		left: 28.75%;
	}
}

.vertical_line_03 {
	left: 50%;
	margin-left: -1px;
}

.vertical_line_04 {
	right: 25%;
}
@media screen and (min-width: 751px) {
	.vertical_line_04 {
		right: 28.75%;
	}
}

.vertical_line_05 {
	right: 0;
}
@media screen and (min-width: 751px) {
	.vertical_line_05 {
		right: 7.5%;
	}
}

/* ------------------------
  main
------------------------ */
.main_contents {
	position: relative;
	z-index: 1;
	top: -36px;
	margin: 0 auto -36px;
	width: 88%;
	background: #fff;
}
@media screen and (min-width: 751px) {
	.main_contents {
		top: -68px;
		margin: 0 auto -68px; 
		max-width: 1200px;
	}
}

/* ------------------------
  vertical_lines
------------------------ */
.vertical_lines {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: auto; 
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 751px) {
	.vertical_lines {
		max-width: 1200px;
	}
}
.vertical_lines .vertical_line {
	background: #f5f5f5;
}

/* ------------------------
  breadcrumb
------------------------ */
.breadcrumb.pankz {
	display: -ms-flexbox;
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	height: 78px; 

	-ms-flex-align: center; 

	    align-items: center;
}
@media screen and (max-width: 750px) {
	.breadcrumb.pankz {
		display: none;
	}
}
.breadcrumb.pankz li {
	position: relative;
	color: #aaa; 
	font-size: 13px;
	font-weight: bold;
}
.breadcrumb.pankz li:not(:first-child) {
	margin-left: 40px;
}
.breadcrumb.pankz li:not(:first-child):after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -24px;
	margin-top: -1px; 
	width: 10px;
	height: 1px;
	background: #000;
}
.breadcrumb.pankz li a {
	text-decoration: none; 
	color: #cb0400;
}
.breadcrumb.pankz li a:hover {
	text-decoration: underline;
}

/* ------------------------
  pageTop
------------------------ */
.pageTop {
	position: absolute;
	z-index: 2;
	right: 0;
	left: 0;
	margin: auto; 
	text-align: center;
}
.pageTop a {
	display: block;
	position: relative;
	z-index: 1;
	margin: auto;
	height: 38px;
	background-color: #fff; 
	white-space: nowrap;
	text-indent: 100%;
	font-size: 0;
}
@media screen and (min-width: 751px) {
	.pageTop a {
		width: 100%;
		max-width: 1200px;
		height: 68px;
	}
}
@media screen and (min-width: 751px) {
	.pageTop a:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 0%;
		transition: 0.3s height cubic-bezier(0.23, 1, 0.32, 1); 
		background-color: #cb0400;
	}
}
.pageTop a .arw_top {
	position: absolute;
	right: 0; 
	left: 0;
}
.pageTop a .arw_top:before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 13px;
	right: 0;
	left: 0;
	margin: auto;
	width: 9px;
	height: 10px;
	background: url(/assets/img/common/pagetop_arw_top.png) no-repeat center;
	background-size: 9px 10px;
}
@media screen and (min-width: 751px) {
	.pageTop a .arw_top:before {
		top: 27px;
		width: 15px;
		height: 17px;
		background-size: 15px 17px;
	}
}
.pageTop a .arw_top:after {
	content: "";
	opacity: 0;
	position: absolute;
	z-index: 1;
	top: 13px;
	right: 0;
	left: 0;
	margin: auto;
	width: 9px;
	height: 10px;
	background: url(/assets/img/common/pagetop_arw_top_ov.png) no-repeat center;
	background-size: 9px 10px;
}
@media screen and (min-width: 751px) {
	.pageTop a .arw_top:after {
		top: 27px;
		width: 15px;
		height: 17px;
		background-size: 15px 17px;
	}
}
.pageTop a .vertical_line {
	transition: 0.3s opacity cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (min-width: 751px) {
	.pageTop a:hover:after {
		height: 100%;
	}
}
@media screen and (min-width: 751px) {
	.pageTop a:hover .arw_top:after {
		opacity: 1;
	}
}
@media screen and (min-width: 751px) {
	.pageTop a:hover .vertical_line {
		opacity: 0;
	}
}

@media screen and (min-width: 751px) {
	.pageTop_lines {
		width: 100%;
	}
}

/* ------------------------
  footer
------------------------ */
.footer {
	position: relative;
	z-index: 0;
	background: #f5f5f5;
}
.footer::after {
	position: absolute;
	content:"";
	background: url(/assets/img/common/footer-bg.png) no-repeat center;
	width: 100%;
    height: 100%;
	bottom: 0;
    left: 0;
	z-index: 0;
}
@media screen and (min-width: 751px) {
	.footer::after {
		width: 200%;
		bottom: 0;
		left: -40%;
		transform: scale(0.8);
	}
}
.footer_h {
	margin: auto;
	padding: 86px 0 26px; 
	width: 113px;
	text-align: center;
}
@media screen and (min-width: 751px) {
	.footer_h {
		padding: 133px 0 28px; 
		width: 158px;
	}
}
.footer_h a {
	display: block;
}

.footer_nav {
	position: relative;
	z-index: 1;
	padding-bottom: 25px;
}

.footer_nav_lists {
	background: #f5f5f5;
}
@media screen and (min-width: 751px) {
	.footer_nav_lists {
		display: -ms-flexbox;
		display: flex;
		background: none; 

		-ms-flex-pack: center; 

		    justify-content: center;
	}
}
.footer_nav_lists li {
	border-top: #e8e8e8 solid 1px;
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li {
		border-top: none;
	}
}
.footer_nav_lists li:last-child {
	border-bottom: #e8e8e8 solid 1px;
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li:last-child {
		border-bottom: none;
	}
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li + li {
		margin-left: 36px;
	}
}
.footer_nav_lists li a,
.footer_nav_lists li .no_link {
	display: block;
	position: relative;
	padding: 15px 5%;
	text-decoration: none;
	font-size: 13px;
	font-weight: bold;
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li a,
	.footer_nav_lists li .no_link {
		padding: 0; 
		font-size: 15px;
	}
}
@media screen and (max-width: 750px) {
	.footer_nav_lists li a:after,
	.footer_nav_lists li .no_link:after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 5%;
		border-width: 4px 0 4px 8px;
		border-style: solid;
		width: 0;
		height: 0;
		-webkit-transform: translate(0, -50%);
		    -ms-transform: translate(0, -50%);
		        transform: translate(0, -50%);
	}
}
.footer_nav_lists li a {
	color: #000;
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li a {
		padding-bottom: 10px;
		transition: 0.3s color cubic-bezier(0.23, 1, 0.32, 1);
	}
}
.footer_nav_lists li a:after {
	border-color: transparent transparent transparent #cb0400;
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li a:after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		margin: auto;
		width: 0%;
		height: 3px;
		transition: 0.3s width cubic-bezier(0.23, 1, 0.32, 1); 
		-webkit-transform: translate(-50%, 0); 
		    -ms-transform: translate(-50%, 0); 
		        transform: translate(-50%, 0);
		background: #cb0400;
		background: linear-gradient(to right, #cb0400 50%, #cb0400 50%, #0f158c 50%);
		background-color: #cb0400;
	}
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li a:hover {
		color: #cb0400;
	}
}
@media screen and (min-width: 751px) {
	.footer_nav_lists li a:hover:after {
		width: 100%;
	}
}
.footer_nav_lists li .no_link {
	color: #aaa;
}
.footer_nav_lists li .no_link:after {
	border-color: transparent transparent transparent #aaa;
}

.footer_bnr {
	margin: 36px 11% 0;
	background: #f5f5f5;
}
@media screen and (min-width: 751px) {
	.footer_bnr {
		margin: 22px auto 0; 
		width: 37.2%;
		max-width: 508px;
	}
}
.anniversary_logo {
	margin: 6vh auto 0; 
	width: 130px;
}

.privacy {
	margin-top: 38px;
	text-align: center;
}
.privacy a {
	text-decoration: none; 
	color: #000;
	font-size: 12px;
	font-weight: bold;
}
@media screen and (min-width: 751px) {
	.privacy a {
		font-size: 13px;
	}
}
@media screen and (min-width: 751px) {
	.privacy a:hover {
		text-decoration: underline;
	}
}
.privacy a span {
	position: relative;
	padding-left: 13px;
}
.privacy a span:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	border-width: 3px 0 3px 7px;
	border-style: solid;
	border-color: transparent transparent transparent #cb0400;
	width: 0;
	height: 0;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
}

.copyright {
	margin-top: 32px;
	text-align: center; 
	color: #000;
	font-size: 11px;
}
@media screen and (min-width: 751px) {
	.copyright {
		margin-top: 30px;
		font-size: 12px;
	}
}

.footer_simeji {
	position: relative;
	background: #171717;
	z-index: 4;
}
.footer_simeji .inner {
	position: relative;
	z-index: 1; 
	padding: 20px 8%;
}
@media screen and (min-width: 751px) {
	.footer_simeji .inner {
		display: -ms-flexbox;
		display: flex;
		padding: 32px 0; 

		-ms-flex-pack: center; 

		    justify-content: center;
		-ms-flex-align: center;
		    align-items: center;
	}
}

.footer_simeji_logo {
	margin: auto; 
	width: 74px;
}
@media screen and (min-width: 751px) {
	.footer_simeji_logo {
		margin: 0; 
		width: 90px;
	}
}

.footer_simeji_txt {
	margin-top: 10px;
	color: #fff; 
	font-size: 10px;
	line-height: 1.5;
}
@media screen and (min-width: 751px) {
	.footer_simeji_txt {
		margin: 0 0 0 20px; 
		font-size: 12px;
	}
}

.footer_inner_vertical_lines {
	z-index: -1;
	width: 88%;
}
.footer_inner_vertical_lines .vertical_line {
	background: #e8e8e8;
}

.footer_simeji_vertical_lines {
	width: 88%;
}
.footer_simeji_vertical_lines .vertical_line {
	background: #000;
}

/* ------------------------
  link_btn
------------------------ */
.link_btn {
	margin: auto; 
	width: 220px;
}
@media screen and (min-width: 751px) {
	.link_btn {
		width: 260px;
	}
}
.en .link_btn {
	width: 270px;
}
@media screen and (min-width: 751px) {
	.en .link_btn {
		width: 340px;
	}
}
.link_btn a,
.link_btn .no_link {
	display: block;
	position: relative;
	padding: 17px 3% !important;
	width: 220px;
	background: #fff;
	text-align: center;
	text-decoration: none; 
	color: #cb0400;
	box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.1);
	font-size: 13px;
	font-weight: bold;
}
@media screen and (min-width: 751px) {
	.link_btn a,
	.link_btn .no_link {
		padding: 19px 5% !important;
		width: 260px;
		box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
		font-size: 16px;
	}
}
.link_btn a > span,
.link_btn .no_link > span {
	position: relative;
	padding-right: 14px;
}
@media screen and (min-width: 751px) {
	.link_btn a > span,
	.link_btn .no_link > span {
		padding-right: 20px;
	}
}
.link_btn a > span:after,
.link_btn .no_link > span:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	border-width: 3px 0 3px 7px;
	border-style: solid;
	border-color: transparent transparent transparent #cb0400;
	width: 0;
	height: 0;
	transition: 0.3s border-color cubic-bezier(0.23, 1, 0.32, 1); 
	-webkit-transform: translate(0, -50%); 
	    -ms-transform: translate(0, -50%); 
	        transform: translate(0, -50%);
}
@media screen and (min-width: 751px) {
	.link_btn a > span:after,
	.link_btn .no_link > span:after {
		border-width: 4px 0 4px 10px;
	}
}
.en .link_btn a,
.en
    .link_btn .no_link {
	width: 270px;
}
@media screen and (min-width: 751px) {
	.en .link_btn a,
	.en
	.link_btn .no_link {
		width: 340px;
	}
}
.en .link_btn a span,
.en
      .link_btn .no_link span {
	display: inline-block;
}
@media screen and (min-width: 751px) {
	.link_btn a:before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 0%;
		height: 100%;
		transition: 0.3s width cubic-bezier(0.23, 1, 0.32, 1); 
		background: #cb0400;
	}
}
@media screen and (min-width: 751px) {
	.link_btn a:hover {
		color: #fff;
	}
}
@media screen and (min-width: 751px) and (min-width: 751px) {
	.link_btn a:hover:before {
		width: 100%;
	}
}
@media screen and (min-width: 751px) and (min-width: 751px) {
	.link_btn a:hover span:after {
		border-color: transparent transparent transparent #fff;
	}
}
.link_btn.ico_back span {
	padding-right: 0; 
	padding-left: 15px;
}
@media screen and (min-width: 751px) {
	.link_btn.ico_back span {
		padding-left: 23px;
	}
}
.link_btn.ico_back span:after {
	right: auto;
	left: 0;
	border-width: 3px 7px 3px 0;
	border-color: transparent #cb0400 transparent transparent;
}
@media screen and (min-width: 751px) {
	.link_btn.ico_back span:after {
		border-width: 4px 10px 4px 0;
	}
}
@media screen and (min-width: 751px) {
	.link_btn.ico_back a:hover span:after {
		border-color: transparent #fff transparent transparent;
	}
}

@media screen and (min-width: 751px) {
	.link_bnr a {
		opacity: 1; 
		transition: 0.3s opacity cubic-bezier(0.23, 1, 0.32, 1);
	}
}

@media screen and (min-width: 751px) {
	.link_bnr a:hover {
		opacity: 0.7;
	}
}

/* ------------------------
  subpage（下層ページ）
------------------------ */
.subpage .cover {
	position: relative;
}
.subpage .cover:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 65px;
	background: #fff;
}
@media screen and (min-width: 751px) {
	.subpage .cover:before {
		height: 84px;
	}
}

.subpage .cover_img {
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 751px) {
	.subpage .mainarea_lines {
		width: 85%;
	}
}

.subpage .mainarea_lines .vertical_line_01 {
	left: 0;
}

.subpage .mainarea_lines .vertical_line_02 {
	left: 25%;
}

.subpage .mainarea_lines .vertical_line_03:after {
	content: "";
	position: absolute;
	top: 16px;
	width: 1px;
	height: 12px;
	background: #000;
}
@media screen and (min-width: 751px) {
	.subpage .mainarea_lines .vertical_line_03:after {
		top: 28px;
		width: 1px;
		height: 20px;
	}
}

.subpage .mainarea_lines .vertical_line_04 {
	right: 25%;
}

.subpage .mainarea_lines .vertical_line_05 {
	right: 0;
}

.cover_lines {
	z-index: -1;
	top: 65px;
	width: 88%;
}
@media screen and (min-width: 751px) {
	.cover_lines {
		top: 86px;
	}
}

/* ------------------------
  Print Styles
------------------------ */
@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}