@charset "utf-8";

@media print {
body,
p,
h1,h2,h3,h4,h5,h6,
ol,ul,li,
dl,dd,
address,
noscript {
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
}

ul li,
ol li,
dl dt,
dl dd {
	font-size: 100%;
	list-style: none;
	line-height: 1.4;
}
}

body,
p,
h1,h2,h3,h4,h5,h6,
ol,ul,li,
dl,dd,
address,
noscript {
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
}


body {
	margin: 0;
	padding: 0;
	color: #4d4d4d;
	line-height: 1.5;
	font-size: 100%;
	text-align:center;
}
#bgWHT{
	width:100%;
	background:#fff;
	margin:-1px 0;
	padding:1px 0;
	zoom:1;
}


/* BASIC LAYOUT
--------------------------------------------------------------*/

#content {
  	padding: 0 0 100px 0;
}

#content,#bgWHT,#ieSubNaviContainer{
	min-width:1024px;
	text-align:center;
	background:#fff;
	clear:both;
}
#content #contentPad{
	width:920px;
	margin:0 auto;
	text-align:left;
}
#content #contentPad:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
#content #contentPad{
	display:inline-table;
	min-height:1%;
}
/* \*/
html #content #contentPad{
	* height:1%;
}
#content #contentPad{
	display:block;
}
/* */

#topicPath{
	font-size:70%;
	line-height:1.1em;
	letter-spacing:-1em;
	padding:5px 0 0 0;
}
#topicPath li{
	display:inline;
	letter-spacing:normal;
}
#topicPath li strong{
	font-weight:normal;
}
#topicPath li span{
	margin:0 0.3em;
}

#content #mainContent{
	width:685px;
	float:right;
	line-height:1.5;
	padding-top:15px;
}
#content #subContent{
	width:215px;
	float:left;
	font-size:78%;
	padding-top:15px;
}
#content .pageUp{
	clear:both;
	width:920px;
	margin:70px auto 0;
	text-align:right;
}

h1.hTxt{
	background:url(/common/img/new1012/bar_h1.gif) repeat-y left top;
	padding:13px 0 13px 13px;
	font-size:200% !important;
	color:#000;
	line-height:1.2;
}

.linkIcon{
	background:url(/common/img/new1012/link_icon.gif) no-repeat 0 0.1em;
	padding-left:11px;
}

/* リンクスタイルを設定 */
a:link {
	color: #006699;
	text-decoration: none;
}
a:visited {
	color: #993366;
	text-decoration: none;
}
a:active {
	color: #009933;
	text-decoration: underline;
}
a:hover {
	color: #0066ff;
	text-decoration: underline;
}

p,h2,h3,h4,h5,h6,address {
	font-size: 100%;
}

ul li,
ol li,
dl dt,
dl dd {
	font-size: 100%;
	list-style: none;
	line-height: 1.4;
}


img,
img a {
	border: none;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}


table {
	margin: auto;
	padding: auto;
}


noscript {
	display: block;
	width: 920px;
	margin-right: auto;
	margin-bottom: 68px;
	margin-left: auto;
	background: #ffff99;
	color: #333;
	font-size: 100%;
	font-weight: bold;
}

noscript.swf {
	display: inherit;
	width: auto;
	margin-right: auto;
	margin-bottom: auto;
	margin-left: auto;
	background: inherit;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
}

/* COMMON */
body {
position: relative;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
font-weight: 300;
font-family: "Zen Kaku Gothic New", sans-serif;
margin: 0;
padding: 0;
font-size: 14px;
line-height: 1.36;
color: #333;
letter-spacing: 0.075em;
}
@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);
}
.bottomView.initView,
.rightView.initView,
.topView.initView,
.leftView.initView {
transition: opacity 0.7s ease, transform 0.7s ease;
}
.bottomView.activeView,
.rightView.activeView,
.topView.activeView,
.leftView.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 {
	height: 13.333vw;
	}
	#navigation .cont {
	transition: background-color 0.3s ease;
	position: relative;
	background-color: #21261d;
	width: 100%;
	height: 13.333vw;
	z-index: 10;
	}
	#navigation.active .cont {
	background-color: #fff;
	}
	#navigation.fixed .cont {
	position: fixed;
	left: 0;
	top: 0;
	}
	#navigation .logo {
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 50%;
	top: 0;
	width: 40vw;
	height: 13.333vw;
	}
	#navigation .logo a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 13.333vw;
	z-index: 10;
	}
	#navigation .logo img {
	transform-origin: bottom right;
	transition: opacity 0.3s ease,transform 0.3s ease;
	display: block;
	width: 35.733vw;
	height: auto;
	}
	#navigation .logo::before {
	transition: opacity 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../img/logo_w.svg") no-repeat center center;
	background-size: 32.267vw auto;
	opacity: 0;
	}
	#navigation .logo a::after {
	transition: opacity 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../img/logo_primewood_b.svg") no-repeat center center;
	background-size: 35.733vw auto;
	opacity: 0;
	z-index: 10;
	}
	#navigation.change .logo a::after {
	background: url("../img/logo_b.svg") no-repeat center center;
	background-size: 32.267vw auto;
	opacity: 0;
	}
	#navigation.change .logo::before {
	opacity: 1;
	}
	#navigation.active .logo::before {
	opacity: 0;
	}
	#navigation.active .logo a::after {
	opacity: 1;
	}
	#navigation.change .logo img {
	opacity: 0;
	transform: scale(0.5);
	}
	#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: 2.133vw;
	top: 0;
	width: 13.333vw;
	height: 13.333vw;
	cursor: pointer;
	}
	#navigation .trigger span {
	transition: background-color 0.3s ease;
	position: absolute;
	left: 2.933vw;
	width: 7.2vw;
	height: 0.267vw;
	background-color: #fff;
	}
	#navigation .trigger.active span {
	background-color: #000;
	}
	#navigation .trigger span:nth-of-type(1) {
	top: 4.533vw;
	}
	#navigation .trigger span:nth-of-type(2) {
	top: 6.667vw;
	}
	#navigation .trigger span:nth-of-type(3) {
	top: 8.8vw;
	}
	#navigation .trigger.active span:nth-of-type(1) {
	transform: translateY(2.133vw) rotate(-45deg);
	}
	#navigation .trigger.active span:nth-of-type(2) {
	opacity: 0;
	}
	#navigation .trigger.active span:nth-of-type(3) {
	transform: translateY(-2.133vw) rotate(45deg);
	}
	#navigation .trigger-cnt {
	box-sizing: border-box;
	transition: left 0.6s ease;
	z-index: 12;
	position: absolute;
	left: -100%;
	top: 13.333vw;
	background-color: #fff;
	border-top: solid 1px #000;
	width: 100%;
	height: 100vh;
	}
	#navigation.active .trigger-cnt {
	left: 0;
	}
	#navigation .global {
	margin: 0 auto;
	}
	#navigation .global li {
	border-bottom: solid 1px #000;
	}
	#navigation .global li:last-child {
	border-bottom: none;
	}
	#navigation .global li a {
	position: relative;
	display: block;
	padding: 4.533vw 0 2.667vw 0;
	text-decoration: none;
	text-align: center;
	}
	#navigation .global li a.active {
	background-color: #dcdcdc;
	}
	#navigation .global li a::after {
	transform: rotate(45deg) translateY(-50%);
	content: '';
	position: absolute;
	right: 17.6vw;
	top: 50%;
	display: inline-block;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	width: 2.133vw;
	height: 2.133vw;
	}
	#navigation .global li span.en {
	display: block;
	height: 4.533vw;
	}
	#navigation .global li span.en img {
	display: block;
	margin: 0 auto;
	width: auto;
	height: 2.667vw;
	}
	#navigation .global li:nth-of-type(2) span.en img {
	height: 3.267vw;
	}
	#navigation .global li span.jp {
	display: block;font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
	font-size: 3.467vw;
	}
	#navigation .link {
	margin: 25px auto 0 auto;
	width: 64vw;
	}
	#navigation .link li {
	margin-bottom: 3.2vw;font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
	font-size: 3.467vw;
	text-align: center;
	}
	#navigation .link a {
	display: block;
	position: relative;
	border: solid 1px #000;
	padding: 2.667vw 2.667vw 1.333vw 2.667vw;
	color: #000;
	text-decoration: none;
	}
}
@media screen and (min-width: 768px) {
	#navigation {
	height: 155px;
	}
	#navigation .cont {
	transition: background-color 0.3s ease;
	position: relative;
	background-color: #21261d;
	width: 100%;
	min-width: 1200px;
	z-index: 10;
	}
	#navigation.active .cont {
	background-color: #fff;
	}
	#navigation.fixed .cont {
	position: fixed;
	left: 0;
	top: 0;
	}
	#navigation .logo {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 80px;
	}
	#navigation .logo a {
	position: relative;
	z-index: 1;
	}
	#navigation .logo img {
	transform-origin: bottom right;
	transition: opacity 0.3s ease,transform 0.3s ease;
	display: block;
	width: 217px;
	height: auto;
	}
	#navigation .logo::before {
	transition: opacity 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../img/logo_w.svg") no-repeat center center;
	background-size: 205px auto;
	opacity: 0;
	}
	#navigation.change .logo::before {
	opacity: 1;
	}
	#navigation.change .logo img {
	opacity: 0;
	transform: scale(0.5);
	}
	#navigation .trigger-cnt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 58px;
	box-sizing: border-box;
	background-color: #fff;
	border-bottom: solid 1px #000;
	width: 100%;
	}
	#navigation.active .trigger-cnt {
	right: 0;
	}
	#navigation .global {
	display: flex;
	flex-wrap: wrap;
	gap: 58px;
	}
	#navigation .global li a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	position: relative;
	padding-top: 7px;
	height: 52px;
	text-decoration: none;
	}
	#navigation .global li a::before {
	transition: width 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 15px;
	background-color: #000;
	width: 0;
	height: 2px;
	}
	#navigation .global li a.active::before,
	#navigation .global li a:hover::before {
	width: 100%;
	}
	#navigation .global li span.en {
	display: block;
	height: 17px;
	}
	#navigation .global li span.en img {
	display: block;
	margin: 0 auto;
	width: auto;
	height: 10px;
	}
	#navigation .global li:nth-of-type(2) span.en img {
	height: 12px;
	}
	#navigation .global li span.jp {
	display: none;
	}
	#navigation .link {
	margin-top: 9px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	}
	#navigation .link li {font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
	font-size: 12px;
	text-align: center;
	}
	#navigation .link a {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border: solid 1px #000;
	padding-top: 3px;
	width: 120px;
	height: 34px;
	color: #000;
	text-decoration: none;
	z-index: 1;
	}
	#navigation .link a::before {
	transition: width 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #eee;
	width: 0;
	height: 100%;
	z-index: -1;
	}
	#navigation .link a:hover::before {
	width: 100%;
	}
}

#pageBody {
overflow: hidden;
text-align: left;
padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
	#pageBody {
	padding-bottom: 70px;
	}
}

.modal {
position: fixed;
left: 0;
top: 0;
z-index: 100;
display: none;
}
.modal .mask {
position: fixed;
left: 0;
top: 0;
background-color: rgba(0,0,0,0.2);
width: 100%;
height: 100%;
z-index: 101;
}
.modal .body {
box-sizing: border-box;
transform: translate(-50%,-50%);
position: fixed;
left: 50%;
top: 50%;
background-color: #fff;
width: 90.667vw;
z-index: 102;
text-align: center;
}
.modal .close {
position: relative;
display: inline-block;
padding-left: 5.333vw;
font-size: 2.933vw;
letter-spacing: 0;
}
.modal .close::before {
transform: rotate(45deg);
content: '';
display: block;
position: absolute;
top: 40%;
left: 0;
width: 3.2vw;
border-top: solid 1px #000;
}
.modal .close::after {
transform: rotate(-45deg);
content: '';
display: block;
position: absolute;
top: 40%;
left: 0;
width: 3.2vw;
border-top: solid 1px #000;
}
@media screen and (min-width: 768px) {
	.modal .body {
	width: 680px;
	}
	.modal .close {
	padding-left: 20px;
	font-size: 11px;
	cursor: pointer;
	}
	.modal .close::before {
	width: 12px;
	}
	.modal .close::after {
	width: 12px;
	}
}

.videoModal {
position: fixed;
left: 0;
top: 0;
z-index: 100;
display: none;
}
.videoModal .mask {
position: fixed;
left: 0;
top: 0;
background-color: rgba(0,0,0,0.2);
width: 100%;
height: 100%;
z-index: 101;
}
.videoModal .cont {
position: relative;
box-sizing: border-box;
transform: translate(-50%,-50%);
position: fixed;
left: 50%;
top: 50%;
background-color: #fff;
width: 100%;
z-index: 102;
text-align: center;
}
.videoModal .close {
position: absolute;
right: 0;
top: -8vw;
width: 8vw;
height: 8vw;
background-color: #fff;
}
.videoModal .close::before {
transform: rotate(45deg);
content: '';
display: block;
position: absolute;
top: 50%;
left: 2.133vw;
width: 4vw;
border-top: solid 1px #000;
}
.videoModal .close::after {
transform: rotate(-45deg);
content: '';
display: block;
position: absolute;
top: 50%;
left: 2.133vw;
width: 4vw;
border-top: solid 1px #000;
}
.video-js {
width: 100%;
padding-top: 56.25%;
}
@media screen and (min-width: 768px) {
	.videoModal .cont {
	max-width: 1000px;
	width: 100%;
	}
	.videoModal .close {
	top: -30px;
	width: 30px;
	height: 30px;
	cursor: pointer;
	}
	.videoModal .close::before {
	left: 8px;
	width: 15px;
	}
	.videoModal .close::after {
	left: 8px;
	width: 15px;
	}
}
#contents .swiper-navigation {
display: flex;
flex-wrap: wrap;
gap: 8vw;
font-size: 2.667vw;
}
#contents .swiper-next,
#contents .swiper-prev {
position: relative;
}
#contents .swiper-next {
padding-right: 7.467vw;
}
#contents .swiper-prev {
padding-left: 7.467vw;
}
#contents .swiper-next::before,
#contents .swiper-prev::before {
transform: translateY(-1px);
content: '';
display: block;
position: absolute;
top: 50%;
width: 5.867vw;
border-top: solid 1px #000;
}
#contents .swiper-next::before {
right: 0;
}
#contents .swiper-prev::before {
left: 0;
}
#contents .swiper-next::after,
#contents .swiper-prev::after {
content: '';
display: block;
position: absolute;
top: 50%;
width: 2.133vw;
border-top: solid 1px #000;
}
#contents .swiper-next::after {
transform: rotate(-45deg) translateY(2px);
right: 1.333vw;
}
#contents .swiper-prev::after {
transform: rotate(45deg) translateY(2px);
left: 1.333vw;
}
#contents .swiper-pagination {
position: relative;
margin-top: 2.667vw;
}
#contents .swiper-pagination-bullet {
box-sizing: border-box;
border: solid 1px #000;
background-color: #fff;
}
#contents .swiper-pagination-bullet-active {
background-color: #000;
}
@media screen and (min-width: 768px) {
	#contents .swiper-navigation {
	gap: 50px;
	margin: 15px 10px 0 10px;
	width: auto;
	font-size: 12px;
	}
	#contents .swiper-next {
	padding-right: 40px;
	cursor: pointer;
	}
	#contents .swiper-prev {
	padding-left: 40px;
	cursor: pointer;
	}
	#contents .swiper-next:hover,
	#contents .swiper-prev:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
	}
	#contents .swiper-next::before,
	#contents .swiper-prev::before {
	width: 30px;
	}
	#contents .swiper-next::after,
	#contents .swiper-prev::after {
	width: 8px;
	}
	#contents .swiper-next::after {
	transform: rotate(-45deg) translateY(2px);
	right: 5px;
	}
	#contents .swiper-prev::after {
	transform: rotate(45deg) translateY(2px);
	left: 5px;
	}
	#contents .swiper-pagination {
	margin-top: 15px;
	}
	#contents .swiper-pagination-bullet {
	margin: 0 6px;
	width: 11px;
	height: 11px;
	}
}

#VISUAL .cont {
position: relative;
}
#VISUAL .image img {
display: block;
width: 100%;
height: auto;
}
#VISUAL h1 {
position: absolute;
left: 5.333vw;
bottom: 4.8vw;font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-size: 3.733vw;
color: #fff;
}
#VISUAL h1 img {
display: block;
margin-bottom: 3.2vw;
width: auto;
height: 4.267vw;
}
@media screen and (min-width: 768px) {
	#VISUAL .image img {
	object-fit: cover;
	height: 675px;
	}
	#VISUAL h1 {
	left: 60px;
	bottom: 70px;
	font-size: 18px;
	}
	#VISUAL h1 img {
	margin-bottom: 13px;
	height: 20px;
	}
}

#MOVIE1 {
position: relative;
background-color: #20251a;
}
#MOVIE1 .cont {
margin: 0 auto;
padding: 9.333vw 0 10.667vw 0;
width: 81.333vw;
}
#MOVIE1 h2 {
margin-bottom: 4vw;
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-size: 4.533vw;
text-align: center;
letter-spacing: 0.15em;
color: #fff;
}
#MOVIE1 .list {
display: flex;
flex-direction: column;
gap: 5.867vw;
margin: 0 auto;
width: 56vw;
}
#MOVIE1 .list img {
display: block;
width: 100%;
height: auto;
}
#MOVIE1 .list figure {
margin: 0;
}
#MOVIE1 .list figcaption {
margin-top: 3.467vw;
font-size: 3.467vw;
text-align: center;
color: #fff;
}
@media screen and (min-width: 768px) {
	#MOVIE1 .cont {
	padding: 45px 0 65px 0;
	width: 1068px;
	}
	#MOVIE1 h2 {
	margin-bottom: 25px;
	font-size: 22px;
	}
	#MOVIE1 .list {
	display: flex;
	justify-content: center;
	flex-direction: row;
	gap: 20px;
	width: auto;
	}
	#MOVIE1 .list figure {
	width: 342px;
	}
	#MOVIE1 .list figcaption {
	margin-top: 13px;
	font-size: 16px;
	}
}

#BTN1 .cont {
margin: 0 auto;
padding: 8vw 0;
width: 72vw;
}
#BTN1 .cont li,
#BTN1 .cont p {
font-size: 3.467vw;
line-height: 1.6;
text-align: center;
}
#BTN1 .cont ul {
display: flex;
flex-wrap: wrap;
gap: 3.2vw;
}
#BTN1 .cont li {
width: 100%;
}
#BTN1 .cont a {
position: relative;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #000;
padding-top: 0.8vw;
height: 13.333vw;
text-decoration: none;
}
#BTN1 .cont a::before {
transform: translateY(-1px);
content: '';
display: block;
position: absolute;
top: 50%;
right: 2.667vw;
width: 3.467vw;
border-top: solid 1px #000;
}
#BTN1 .cont a::after {
transform: rotate(-45deg) translateY(1px);
content: '';
display: block;
position: absolute;
top: 50%;
right: 3.467vw;
width: 1.067vw;
border-top: solid 1px #000;
}
@media screen and (min-width: 768px) {
	#BTN1 .cont {
	padding: 60px 0 80px 0;
	width: auto;
	}
	#BTN1 .cont ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
	width: 920px;
	gap: 18px;
	}
	#BTN1 .cont li,
	#BTN1 .cont p {
	position: relative;
	margin: 0 auto;
	font-size: 14px;
	width: 450px;
	}
	#BTN1 .cont a {
	padding-top: 3px;
	height: 60px;
	z-index: 1;
	}
	#BTN1 .cont a::before {
	right: 20px;
	width: 23px;
	}
	#BTN1 .cont a::after {
	transform: rotate(-45deg) translateY(2px);
	right: 24px;
	width: 6px;
	}
	#BTN1 .cont p::before,
	#BTN1 .cont li::before {
	transition: width 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #eee;
	width: 0;
	height: 100%;
	z-index: -1;
	}
	#BTN1 .cont p:hover::before,
	#BTN1 .cont li:hover::before {
	width: 100%;
	}
}


#bottomContents {
background-color: #fff;
border-top: solid 1px #000;
padding: 8vw 0 20vw 0;
}
#bottomContents .global {
display: flex;
flex-wrap: wrap;
gap: 2.667vw;
margin: 0 auto 30px auto;
width: 81.6vw;
}
#bottomContents .global li {
width: 39.467vw;
}
#bottomContents .global li a {
display: block;
box-sizing: border-box;
border: solid 1px #000;
padding-top: 2.4vw;
height: 7.467vw;
}
#bottomContents .global li img {
display: block;
margin: 0 auto;
width: auto;
height: 2.133vw;
}
#bottomContents .global li:nth-of-type(3) img {
height: 2.633vw;
}
#bottomContents .logo img {
display: block;
margin: 0 auto;
width: 45.333vw;
height: auto;
}
#bottomContents .link {
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
position: fixed;
left: 0;
bottom: 0;
background-color: #fff;
border-top: solid 1px #000;
padding-right: 7.2vw;
width: 100%;
height: 12.267vw;
gap: 1.6vw;
z-index: 10;
}
#bottomContents .link li {
width: 38.4vw;font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-size: 3.467vw;
text-align: center;
}
#bottomContents .link li a {
display: block;
box-sizing: border-box;
border: solid 1px #000;
padding-top: 1.333vw;
height: 7.467vw;
text-decoration: none;
}
#bottomContents .targetLink {
box-sizing: border-box;
position: fixed;
right: 4.267vw;
bottom: 2.133vw;
background-color: #fff;
border: solid 1px #000;
width: 7.467vw;
height: 7.467vw;
z-index: 20;
}
#bottomContents .targetLink::before {
transform: rotate(45deg);
content: '';
box-sizing: border-box;
display: block;
position: absolute;
left: 2.133vw;
top: 2.933vw;
border-top: solid 1px #000;
border-left: solid 1px #000;
width: 2.667vw;
height: 2.667vw;
}
#bottomContents .targetLink a {
display: block;
position: relative;
width: 7.467vw;
height: 7.467vw;
z-index: 1;
}
@media screen and (min-width: 768px) {
	#bottomContents {
	padding: 50px 0 30px 0;
	}
	#bottomContents .global {
	display: flex;
	flex-wrap: wrap;
	gap: 28px 18px;
	margin: 0 auto;
	width: 924px;
	}
	#bottomContents .global li {
	width: 296px;
	}
	#bottomContents .global li a {
	position: relative;
	padding-top: 21px;
	height: 57px;
	z-index: 1;
	}
	#bottomContents .global li a::before {
	transition: width 0.3s ease;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #eee;
	width: 0;
	height: 100%;
	z-index: -1;
	}
	#bottomContents .global li a:hover::before {
	width: 100%;
	}
	#bottomContents .global li img {
	display: block;
	margin: 0 auto;
	width: auto;
	height: 14px;
	}
	#bottomContents .global li:nth-of-type(3) img {
	height: 17px;
	}
	#bottomContents .logo {
	display: none;
	}
	#bottomContents .link {
	display: none;
	}
	#bottomContents .targetLink {
	right: 20px;
	bottom: 25px;
	width: 53px;
	height: 53px;
	}
	#bottomContents .targetLink::before {
	left: 18px;
	top: 21px;
	width: 15px;
	height: 15px;
	}
	#bottomContents .targetLink a {
	width: 53px;
	height: 53px;
	}
}

footer {
border-top: solid 1px #000;
margin-top: 30px;
padding-top: 30px;
text-align: center;
}
footer .set {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
footer h4 {
margin-bottom: 25px;
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-size: 18px;
}
footer ul {
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-size: 14px;
text-align: left;
}
footer li {
margin-bottom: 14px;
}
footer li:last-child {
margin-bottom: 0;
}
#bottomContents footer li a:link {
text-decoration: none;
}
footer p {
margin-top: 40px;
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-size: 10px;
}
@media screen and (min-width: 768px) {
	footer {
	margin-top: 60px;
	padding-top: 30px;
	text-align: center;
	}
	footer .set {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
    margin: 0 auto;
	width: 924px;
	}
	footer h4 {
	margin-bottom: 0;
	font-size: 20px;
	}
	footer ul {
	display: flex;
	font-size: 15px;
	}
	footer li {
	margin-bottom: 0;
	}
	footer li::after {
	content: '|';
	margin: 0 18px;
	}
	footer li:last-child::after {
	display: none;
	}
	#bottomContents footer li a:hover {
	text-decoration: underline;
	}
	footer p {
	margin-top: 30px;
	font-size: 12px;
	}
}

.targetTop {
display: none;
}