@charset "utf-8";

.A1GothicL {
font-family: 'A1 Gothic L', sans-serif;
}
.A1GothicR {
font-family: 'A1 Gothic R', sans-serif;
}
.A1GothicM {
font-family: 'A1 Gothic M', sans-serif;
}
.A1Mincho {
font-family: 'A1 Mincho', serif;
}
.zen-old-mincho-regular {
font-family: "Zen Old Mincho", serif;
font-weight: 400;
font-style: normal;
}
.zen-kaku-gothic-new-regular {
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-style: normal;
}
.bc-player-default_default .vjs-big-play-button {
margin-left: -6vw;
margin-top: -6vw;
width: 12vw;
height: 12vw;
font-size: 6.4vw;
line-height: 12vw;
}
@media (min-width: 768px) {
	.bc-player-default_default .vjs-big-play-button {
	margin-left: -53px;
	margin-top: -53px;
	width: 106px;
	height: 106px;
	font-size: 53px;
	line-height: 106px;
	}
}
.bc-player-default_default:hover .vjs-big-play-button {
background-color: rgba(0, 0, 0, 1);
}

.js-accordion-cont {
  transition: max-height 0.3s ease-in-out;
  max-height: 0;
  overflow: hidden;
}

@media (max-width: 1023px) {
    #globalFooter .footerSitemapSpHedging__text {
        border-bottom: 1px solid #000 !important;
    }
    #globalFooter .footerSitemapSpHedging__text::after {
        border-color: #000 #000 transparent transparent !important;
    }
}

/* COMMON */
body {
position: relative;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
font-weight: 400;
font-family: "Zen Kaku Gothic New", sans-serif;
margin: 0;
padding: 0;
font-size: 14px;
line-height: 1.36;
color: #000;
letter-spacing: 0.02em;
}
body #pageBody {
color: #000;
}
@media (min-width: 768px) {
	body {min-width: 1200px}
}

#bottomContents a:link,
#bottomContents a:active,
#bottomContents a:visited,
#pageTop a:link,
#pageTop a:active,
#pageTop a:visited,
#pageBody a:link,
#pageBody a:active,
#pageBody a:visited,
a:link,
a:active,
a:visited { 
color: #000;
text-decoration: underline;
text-underline-offset: 3px;
}
a:hover { 
color: #000;
text-decoration: none;
}
ul,
ol {
list-style: none;
}

.sp {display: inherit;}
.pc {display: none;}
@media screen and (min-width: 768px) {
	.sp {display: none;}
	.pc {display: inherit;}
}

.bottomView {
opacity: 0;
transform: translateY(50px);
}
.rightView {
opacity: 0;
transform: translateX(50px);
}
.topView {
opacity: 0;
transform: translateY(-50px);
}
.leftView {
opacity: 0;
transform: translateX(-50px);
}
#VISUAL {
opacity: 0;
}
.bottomView.initView,
.rightView.initView,
.topView.initView,
.leftView.initView,
#VISUAL.initView {
transition: opacity 0.7s ease, transform 0.7s ease;
}
.bottomView.activeView,
.rightView.activeView,
.topView.activeView,
.leftView.activeView,
#VISUAL.activeView {
opacity: 1;
transform: translate(0,0);
}

/* HEADER */
#header {
text-align: center;
height: 12.077vw;
}
#header .sfc {
position: relative;
margin: 0 auto;
border-top: solid 2px #008d53;
padding-top: 4.348vw;
width: 31.401vw;
z-index: 9;
}
#header .sfc img {
width: 31.401vw;
height: 3.623vw;
}
@media (min-width: 768px) {
	#header {
	text-align: center;
	height: 50px;
	}
	#header .sfc {
	position: relative;
	margin: 0 auto;
	border-top: solid 2px #008d53;
	padding-top: 18px;
	width: 130px;
	z-index: 9;
	}
	#header .sfc img {
	width: 130px;
	height: 15px;
	}
}

@media screen and (max-width: 767px) {
	#navigation .cont {
	position: relative;
	width: 100%;z-index: 10;
	}
	#navigation.fixed .cont {
	position: fixed;
	left: 0;
	top: 0;
	}
	#navigation .trigger,
	#navigation .trigger span {
	transition: transform 0.3s ease;
	display: inline-block;
	box-sizing: border-box;
	}
	#navigation .trigger {
	z-index: 13;
	position: absolute;
	right: 0;
	top: 0;
	background-color: #C3BBB6;
	width: 13.333vw;
	height: 13.333vw;
	caret-color: transparent;
	cursor: pointer;
	}
	#navigation .trigger span {
	transition: transform 0.3s ease;
	position: absolute;
	left: 4vw;
	width: 5.333vw;
	height: 0.533vw;
	background-color: #fff;
	}
	#navigation .trigger span:nth-of-type(1) {
	top: 4.533vw;
	}
	#navigation .trigger span:nth-of-type(2) {
	top: 6.4vw;
	}
	#navigation .trigger span:nth-of-type(3) {
	top: 8.267vw;
	}
	#navigation .trigger.active span:nth-of-type(1) {
	transform: translateY(1.867vw) rotate(-45deg);
	}
	#navigation .trigger.active span:nth-of-type(2) {
	opacity: 0;
	}
	#navigation .trigger.active span:nth-of-type(3) {
	transform: translateY(-1.867vw) rotate(45deg);
	}
	#navigation .trigger-cnt {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	transition: left 0.6s ease;
	z-index: 12;
	position: absolute;
	left: -100%;
	top: 0;
	background-color: #fff;
	width: 100%;
	height: calc(100dvh - 12.077vw);
	}
	#navigation.active .trigger-cnt {
	left: 0;
	}
	#navigation.fixed .trigger-cnt {
	height: 100vh;
	height: -webkit-fill-available;
	height: 100dvh;
	}
	#navigation .global {
	box-sizing: border-box;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6.667vw;
	background-color: #C3BBB6;
	margin: 0 auto;
	width: 100%;
	padding: 10.667vw;
	}
	#navigation .global li {
	border-left: solid 1px #000;
	font-weight: 400;
	font-family: "Zen Old Mincho", serif;
	font-size: 4vw;
	line-height: 10.667vw;
	}
	#navigation .global li:last-child {
	border-bottom: none;
	}
	#navigation .global li a {
	position: relative;
	display: block;
	padding: 0 4vw;
	text-decoration: none;
	text-align: left;
	}
	#navigation .logo {
	padding: 11.467vw 0 14vw 0;
	}
	#navigation .logo img {
	display: block;
	margin: 0 auto;
	width: 46.4vw;
	}
}
@media screen and (min-width: 768px) {
	#navigation {
	height: 50px;
	}
	#navigation .cont {
	transition: background-color 0.3s ease;
	position: relative;
	width: 100%;
	min-width: 1200px;
	z-index: 10;
	}
	#navigation.active .cont {}
	#navigation.fixed .cont {
	position: fixed;
	left: 0;
	top: 0;
	}
	#navigation .logo {
	display: none;
	}
	#navigation .trigger-cnt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 45px;
	box-sizing: border-box;
	background-color: #dbdad5;
	width: 100%;
	}
	#navigation.active .trigger-cnt {
	right: 0;
	}
	#navigation .global {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	}
	#navigation .global li a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	position: relative;
	padding: 0 25px 0 25px;
	height: 50px;
	font-weight: 400;
	font-family: "Zen Old Mincho", serif;
	font-size: 14px;
	letter-spacing: 0.2em;
	text-decoration: none;
	opacity: 0.5;
	}
	#navigation .global li:nth-of-type(2),
	#navigation .global li:nth-of-type(1) {
	padding-right: 50px;	
	}
	#navigation .global li:nth-of-type(3) {
	padding-right: 212px;	
	}
	#navigation .global li a.active {
	opacity: 1;
	}
}

#pageBody {
overflow: hidden;
text-align: left;
}

#contents .swiper-navigation {}
#contents .swiper-next,
#contents .swiper-prev {
transform: translateY(-50%);
position: absolute;
top: 50%;
}
#contents .swiper-next {
right: -1.867vw;
}
#contents .swiper-prev {
left: -1.867vw;
}
#contents .swiper-next::after {
content: '';
display: block;
background: url("../img/btn_arw.svg") no-repeat center center;
background-size: contain;
width: 2.667vw;
height: 2.667vw;
}
#contents .swiper-prev::after {
content: '';
display: block;
background: url("../img/btn_arw_prev.svg") no-repeat center center;
background-size: contain;
width: 2.667vw;
height: 2.667vw;
}
#contents .swiper-button-disabled {
opacity: 0.3;
}
#contents .swiper-pagination {
position: absolute;
bottom: -4.533vw;
left: 0;
width: 100%;
}
#contents .swiper-pagination-bullet {
box-sizing: border-box;
background-color: #DBDAD5;
margin: 0 0.8vw;
width: 1.333vw;
height: 1.333vw;
}
#contents .swiper-pagination-bullet-active {
background-color: #A09C99;
}
@media screen and (min-width: 768px) {
	#contents .swiper-next {
	right: 0;
	}
	#contents .swiper-prev {
	left: 0;
	}
	#contents .swiper-next::after {
	background: url("../img/btn_arw_next_pc.svg") no-repeat center center;
	background-size: contain;
	width: 26px;
	height: 26px;
	}
	#contents .swiper-prev::after {
	background: url("../img/btn_arw_prev_pc.svg") no-repeat center center;
	background-size: contain;
	width: 26px;
	height: 26px;
	}
	#contents .swiper-pagination {
	bottom: -29px;
	}
	#contents .swiper-pagination-bullet {
	margin: 0 4px;
	width: 8px;
	height: 8px;
	}
}

.targetTop {
display: none;
}