@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Roboto:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');
/*
Theme Name: TDHD-202506
Description: TDHDコーポレートサイト
Author: TOYO DENSO Co., Ltd.
Author URI: https://t-denso.com/
Version: 1.0.0
*/

.material-symbols-outlined {
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  font-size: 1.7em;
  vertical-align: middle;
}
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* OTHER SETTING */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* COMMON */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* FONT */
/* SCROLL TOP */
/* HEADER */
/* FOOTER */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* OTHER SETTING */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
a{color: #2448be;}
a:hover{color: #657ed1;}
a.pointer-none{pointer-events: none;}
@media (min-width: 1280px){
	a.tel{pointer-events: none;text-decoration: none;color: #515151;}
}

.frame-white{ border: 0.0625em solid #ffffff;}
.frame-tdgray{border: 0.0625em solid #515151;}
.frame-dgray{border: 0.0625em solid #454545;}
.frame-gray{ border: 0.0625em solid #D8D8D8;}
.frame-lgray{ border: 0.0625em solid #f3f3f3;}
.frame-black{ border: 0.0625em solid #010101;}
.frame-anchor{ border: 0.0625em solid #2448be;}
.frame-red{ border: 0.0625em solid #B00101;}
.frame-orange{ border: 0.0625em solid #FF9242;}
.frame-yellow{ border: 0.0625em solid #FFCA42;}
.frame-dblue{ border: 0.0625em solid #151BB2;}
.frame-lblue{ border: 0.0625em solid #3CB9FF;}
.frame-plblue{ border: 0.0625em solid #88C8D6;}
.frame-green{ border: 0.0625em solid #439171;}

.bg-white{ background-color: #FFFFFF;}
.bg-tdgray{background-color: #515151;}
.bg-dgray{background-color: #454545;}
.bg-gray{ background-color: #D8D8D8;}
.bg-lgray{ background-color: #f3f3f3;}
.bg-black{ background-color: #010101;}
.bg-anchor{ background-color: #2448be;}
.bg-red{ background-color: #B00101;}
.bg-orange{ background-color: #FF9242;}
.bg-yellow{ background-color: #FFCA42;}
.bg-dblue{ background-color: #151BB2;}
.bg-lblue{ background-color: #3CB9FF;}
.bg-plblue{ background-color: #88C8D6;}
.bg-green{ background-color: #439171;}

.c-white{ color: #FFFFFF;}
.c-tdgray{color: #515151;}
.c-dgray{color: #454545;}
.c-gray{ color: #D8D8D8;}
.c-lgray{ color: #f3f3f3;}
.c-black{ color: #010101;}
.c-anchor{ color: #2448be;}
.c-red{ color: #B00101;}
.c-orange{ color: #FF9242;}
.c-yellow{ color: #FFCA42;}
.c-dblue{ color: #151BB2;}
.c-lblue{ color: #3CB9FF;}
.c-plblue{ color: #88C8D6;}
.c-green{ color: #439171;}

.hover-op07:hover,
.hover-op07:hover img{opacity: .7;}

.cc-message{ font-size: 0.8em;}
.cc-compliance .cc-btn.cc-deny {display:none;}

.btn_rounded-corners{
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.btn_rounded-corners a,.btn_rounded-corners button{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	font-size: 1.143rem;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	border: .1em solid #515151;
	color: #fff;
	padding: 1em 2.286em;
	transition: all .5s;
}
.btn_rounded-corners a.pointer-none,.btn_rounded-corners button.pointer-none{
	pointer-events: none;
	background-color: #e3e3e3;
	border: .1em solid #e3e3e3;
}
.btn_rounded-corners a::after,.btn_rounded-corners button::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-weight: bold;
	padding-left: 1em;
}
.btn_rounded-corners a:hover,.btn_rounded-corners button:hover{
	background-color: #fff;
	border: .1em solid #515151;
	color: #515151;

}
.btn_rounded-corners.pattern02 a::after{
	content:"";
	padding-left: 0;
}
.btn_rounded-corners.pattern02 a::before{
	font-family: "Font awesome 6 Free";
	content:"\f104";
	font-weight: bold;
	padding-right: 1em;
}
.btn_rounded-corners.pattern03 a{min-width: 22rem;padding: 1em;text-align: center;}
.btn_rounded-corners.pattern03 a::after{ content:"\f08e";}
.btn_rounded-corners.pattern03 a.bg-white{background-color: transparent; color: #515151;}
.btn_rounded-corners.pattern03 a.bg-white:hover{background-color: #B00101; color: #fff;}

.btn_contact a{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	font-size: 1.714rem;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	color: #fff;
	padding: .66em 1.33em;
	transition: all .5s;
}
.btn_contact a.pointer-none{
	pointer-events: none;
	background-color: #e3e3e3;
}
.btn_contact a::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-weight: bold;
	padding-left: .66em;
}
.btn_contact a:hover{
	background-color: #fff;
	color: #515151;
}
.btn_contact.pattern02 a:hover,.btn_contact.pattern03 a:hover{
	background-color: #ffca42;
	color: #fff;
}

.btn_contact.pattern03 a::after{ content:"\f08e";}

.link-btn a{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	line-height: normal;
	background-color: #fff;
	border: .2em solid #515151;
	font-weight: 700;
	color: #515151;
	padding: .66em 1.5em;
	transition: all .5s;
}
.link-btn a:hover{
	background-color: #515151;
	color: #FFFFFF;
}
.content-badge{padding: .5em 0;}
.content-badge a{
	text-decoration: none;
	border-radius: 100vw;
	line-height: 1;
	background-color: #fff;
	border: .15em solid #515151;
	font-weight: 700;
	color: #515151;
	font-size: 1.2em;
	padding: .5em;
	transition: all .5s;
	height: 2.5em;width: 2.5em;
	display: inline-block;
}
.content-badge a::before{font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";}
.content-badge.pdf a::before{	content:"\f1c1";}
.content-badge.img a::before{	content:"\f03e";}
.content-badge a:hover{background-color: #515151;color: #fff;}

/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* COMMON */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* FONT */
body {
	color: #515151;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
h1{font-size: 1.714em;}
h2{font-size: 1.5em;}
h3{font-size: 1.14em;}
h4{font-size: 1em;}
h5{font-size: .857em;}
h6{font-size: .75em;}
h1,h2,h3,h4,h5,h6{ clear: both;}
.ruby-en{position: relative;padding-top: 1.4rem;}
.ruby-en::before{
	position: absolute;
	content:attr(date-en);
	font-size: 1rem;
	color: #d8d8d8;
	line-height: 1em;
	top: 0;
	transition: all .2s linear;
}
@media (min-width: 768px){
	h1{font-size: 1.714em;}
	h2{font-size: 1.5em;}
	h3{font-size: 1.14em;}
}
@media (min-width: 960px){
	h1{font-size: 2.285em;}
	h2{font-size: 1.714em;}
	h3{font-size: 1.5em;}
}


/* SCROLL TOP */
.scrollTop {
	position: fixed;
	right: 1em;
	bottom:  1em;
	opacity: 0;
	z-index: 1000;
	transition: all 0.4s ease-in-out 0s;
}
.scrollTop a {
	box-sizing: border-box;
	border: .12rem solid #FFFFFF;
	background-color: #515151;
	color: #FFFFFF;
	width: 3.75rem;
	height: 3.75rem;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	border-radius: 1.9rem;
	text-decoration: none;
}
.scrollTop a i{font-size: 2.4rem;}
.scrollTop a:hover{
	color: #515151;
	background-color: #FFFFFF;
	border: .12rem solid #515151;
}

body{	height: auto;}
body.open {
	height: 100%;
  overflow: hidden;
}

/* HEADER */
header{
	position: fixed;
	width: 100%;
	height: 4.785rem;
	top: 0;
	z-index: 10;
	background-color: #fff;
}
header .main{width: 100%;}
header .main{
	height: 4.785em;
	background-color: #fff;
}
header .main .header-wrap{
	height: 100%;
	display: flex;
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
}
header .main .global-nav{display: none;}
header .main .header-logo{
	display: flex;
	-ms-align-items: center;
	align-items: center;
}
header .main .header-logo a{
	height: 2em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-decoration: none;
	line-height: 1;
}
header .main .header-logo a .title{	height: 100%;}

.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 4.785em;
  left: 0;
  z-index: 10;
  opacity: 0;
  transition: opacity .5s;
}
.overlay.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}

.menu-trigger{
	display: block;
	background: none;
	border: none;
	padding: 0;
	width: 4.785em;
	height: 4.785em;
	color: #515151;
	letter-spacing: 0.1em;
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 3000;
	text-align: center;
	outline: none;
	transform: translateX(0);
  transition: all .5s;
}
.menu-trigger::after{
	font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
	content:'\f0c9';
	transition:  all 2s ease-out;
	font-size: 1.3em;
	font-weight:900;
	top: 50%;left: 50%;
	position: fixed;
	transform: translate(-50% , -50%);
}
.menu-trigger.active::after {
	content:'\f00d';
	transition: all .5s;
}
.inner-menu-trigger{display: none;}
nav.drawer-innner{
  width: 100%;
  height: calc(100% - 4.785em);
	overflow-y: scroll;
	box-sizing: border-box;
  background-color: #FFFFFF;
  position: fixed;
  top: 4.785em;
  right: 0;
  z-index: 20;
  transform: translateY(100%);
  transition: all .0s;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	font-size: 1rem;
}
nav.drawer-innner.open {
  transform: translateY(0);
	z-index: 1000;
}
nav.drawer-innner a{
	box-sizing: border-box;
	display: inline-block;
	font-weight: bold;
	padding: .57em;
	text-decoration: none;
	color: #909090;
}
nav.drawer-innner ul.page-menu{
	list-style-type: none;
	line-height: 1;
	padding: 0 1.28rem;
	margin: 0;
}
nav.drawer-innner ul.page-menu li{
	padding: .857em 0;
	text-align: right;
}
nav.drawer-innner ul.page-menu a:hover,
nav.drawer-innner ul.page-menu a:active{color: #515151;}

.vacant{height: 4.785em;}
.link-container{
	padding-top: 5.785em;
	margin-top: -4.785em;
}
.container{padding-top: 3.43em;padding-bottom: 3.14em;}

@media (min-width: 768px){
	header .main .header-logo a{
		height: 1.67em;
		box-sizing: border-box;
	}
	.overlay { top: 0;}

	.menu-trigger{right: 1em;}
	.menu-trigger.active::after {content:'\f0c9';}

	.inner-menu-trigger{
		width: 100%;
		height: 4.785em;
		color: #515151;
		letter-spacing: 0.1em;
		position: absolute;
		top: 0;
		z-index: 3000;
		text-align: center;
		outline: none;
		transform: translateX(0);
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: flex-end;
		-ms-align-items: center;
		align-items: center;
	}
	.inner-menu-trigger .btn{
		cursor: pointer;
		width: 3.285em;
		height: 3.285em;

	}
	.inner-menu-trigger .btn::after{
		display: block;
		font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
		content:'\f00d';
		font-size: 1.3em;
		font-weight:900;
	}

	nav.drawer-innner{
	  width: 61.2vw;
	  height: 68.45vh;
		max-width: 92.44vw;
		padding-top: 4.785em;
	  top: 50vh;
	  right: auto;
		left: 50%;
	  transform: translate(-50% ,100%);
		transition: all .5s;
		border-radius: .71em;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}
	nav.drawer-innner.open {
	  transform: translate(-50% ,-50%);
		z-index: 1000;
	}
	nav.drawer-innner::-webkit-scrollbar {width: .2em;}
	nav.drawer-innner::-webkit-scrollbar-track { background: transparent;}
	nav.drawer-innner::-webkit-scrollbar-thumb { background: #aaa; border: none;}
	nav.drawer-innner::-webkit-scrollbar-thumb:hover { background: #999;}

	nav.drawer-innner ul.page-menu li{text-align: center;}

	.container{padding-top: 4.7em;padding-bottom: 3.428em;}

}
@media (min-width: 960px){
	header .main{	height: 8.2em;}
	header .main .header-logo a{height: 2.56em;}
	.menu-trigger{
		display: none;
	}
	header .main .global-nav{
		list-style-type: none;
		line-height: 1;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	header .main .global-nav{height: 100%;}
	header .delegate .global-nav li{
		padding-left: 1.5em;
		padding-right: 1.5em;
	}
	header .main .global-nav > li{
		padding: 0 1em;
		font-size: 1.143em;
		position: relative;
		height: 100%;
	}
	header .main .global-nav > li:last-child{
		padding-right: 0;
	}
	header .main .global-nav > li > a{
		box-sizing: border-box;
		display: inline-block;
		font-weight: bold;
		padding: .57em;
		text-decoration: none;
		color: #909090;
	}
	header .main .global-nav > li > a{
		height: 100%;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
	}
	header .main .global-nav > li > a:hover, header .main .global-nav > li > a:active, header .main .global-nav > li > a.current{color: #515151;}
	header .main .global-nav > li > ul{
		position: absolute;
		width: 15em;
		height: 0;
		left: 1em;
		top:6em;
		overflow: hidden;
		border-radius: .714rem;
		background-color: #fff;
		box-shadow: 0 0 .285rem rgba(0, 0, 0, 0.25);
		display: flex;
	  justify-content: center;
	  flex-direction: column;
		font-weight: bold;
		margin:0;
	}
	header .main .global-nav > li:hover > ul{
		overflow: visible;
		height: 17em;
		padding: .714rem;
	}
	header .main .global-nav > li > ul > li {
		margin: 0;
		font-size: 1em;
		list-style-type: none;
		padding: .5em 0;
	}
	header .main .global-nav > li > ul > li a{
		width: 100%;
		height: 100%;
		padding: .5em 1em;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		box-sizing: border-box;
		text-decoration: none;
		color: #515151;
	}
	header .main .global-nav > li > ul > li a:hover{color: #909090;}
	.vacant{
		height: 8.2em;
	}
	.link-container{
		padding-top: 9.2em;
		margin-top: -8.2em;
	}
	.container{padding-top: 6.64em;padding-bottom: 4.7em;}
}

/* FOOTER */
/* - CTA */
#foot-cta{text-align: center;}
#foot-cta p{
	font-size: 1.143em;
	font-weight: bold;
	line-height: 1.5;
}
@media (min-width: 768px){
	#foot-cta .wrap{
		padding-top: 5rem;
		padding-bottom: 5rem;
		display: flex;
		justify-content: flex-end;
		-ms-align-items: center;
		align-items: center;
	}
	#foot-cta p{margin-right: 2.85rem;}
}
@media (min-width: 960px){
	#foot-cta p{font-size: 1.714rem;margin-right: 1.5em;}
}

footer{
	background-color: #515151;
	color: #fff;
	padding-top: 3.6rem;
	padding-bottom: 3.6rem;
}
footer ul{
	list-style-type: none;
	padding-left: 0;
}
footer a{
	color: #fff;
	text-decoration: none;
}
footer a:hover{	color: #E9E9E9;}
footer a:hover img{	opacity: .8;}

footer .site-map > ul{margin-bottom: 1em;}
footer .site-map > ul > li{font-size: 1.143em; font-weight: bold;}
footer .site-map > ul > li > ul{
	font-size: .8em;
	margin-bottom: .8em;
}
footer .site-map > ul > li > ul > li::before{content:"-";}
footer .site-map > ul > li > ul > li a{	padding: 0 1em;}
footer .group-links a::after{
	font-family: "Font awesome 6 Free";
	content:"\f08e";
	font-weight: bold;
	padding-left: 2em;
	font-size: .5em;
}

footer ul.policy-list{
	font-size: .8em;
	margin-top: 1em;
	margin-bottom: 5.7em;
	display: flex;
}
footer ul.policy-list a{padding: .5em 1em;}
footer ul.policy-list li:first-child a{padding-left: 0;}

footer .foot .sns-list{
	padding-top: 1em;
	padding-bottom: 2em;
}
footer .foot .sns-list a{
	display: inline-block;
	width: 1.8em;
	height: 1.8em;
	margin-right: 1em;
}
footer .foot .sns-list a img{width: 100%;}
footer .add a{
	display: inline-block;
	width: 16.857em;	
	margin-bottom: 1em;
}
footer .add a img{width: 100%;height: auto;}
footer .add p{
	margin: 0;
	font-size: .857em;
	line-height: 1.1;
}
footer p.copy{
	font-size: .857em;
	color: #939399;
	font-weight: bold;
	margin-top: 1rem;
}
@media (min-width: 768px){
	footer .site-map{	display: flex;}
	footer .site-map > ul{width: 50%;}
	footer .site-map > ul > li{font-size: 1em;}
	footer .site-map > ul > li > ul > li{margin-bottom: .5em;}
	footer .foot{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	footer .foot .links,footer p.copy{
		text-align: right;
	}
}
@media (min-width: 960px){
	footer{	padding-bottom: 1em;}
	footer .site-map{margin-bottom: 6em;}
	footer .site-map > ul{width: 33%;}
	footer .site-map > ul > li{font-size: 1.143em;}
	footer .site-map > ul > li > ul{font-size: .857em;}
	footer .foot .sns-list{padding-bottom: 1rem;}
	footer ul.policy-list{margin-top: .5rem;margin-bottom: .5rem;}
	footer p.copy{margin: 0;}
}
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* TOP PAGE */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* TOP - HERO */
#top-hero{
	width: 100%;
	position: relative;
	padding-top: 4.785em;
	z-index: 0;
	color: #fff;
}
#top-hero .wrap{width: 100%;}

.business-card {
  position: relative;
	aspect-ratio:376 / 124;
  overflow: hidden;
  cursor: pointer;
  margin: 0 0 1em;
}
.business-card.is-open {height: 110%;cursor: default;}

.business-card:last-child{margin-bottom: 0;}
.business-card button{
  display: inline-block;
  padding: 0;margin: 0;
  border-radius: 0;
  border: none;
  background-color: transparent;
	width: fit-content;
  background: #fff;
  color: #222;
  text-decoration: none;
	cursor: pointer;
}
.business-card.is-open button{cursor: default;}
.business-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.business-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.65);
	padding: .5em;
  display: flex;
  justify-content: center;
	align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.business-card__overlay p{
	text-align: center;
  color: #515151;
	width: 60%;
	margin: 0;
}
.business-card__overlay .business-card__link-dtn{
	width: 40%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.business-card__link-dtn a{
	text-decoration: none;
	font-weight: bold;
	color: #515151;
	display: inline-block;
	padding: 1em 1.5em;
	line-height: 1;
	border-radius: 100vw;
	background-color: #FFFFFF;
	border: .1em solid #515151;
	text-align: center;
}
.business-card:hover { filter: brightness(1.1);}
.business-card.is-open:hover { filter: brightness(1);}
.business-card:focus-within .business-card__overlay,
.business-card:focus .business-card__overlay {
  opacity: 1;
  visibility: visible;
}


@media (min-width: 768px){
	#top-hero .wrap{width: 100%;}
	.business-list{
		display:grid;
		grid-template-columns:1fr 1fr 1fr 1fr 1fr;
		gap:1em;
		transition: grid-template-columns .4s ease;
	}
	.business-list[data-open="1"]{ grid-template-columns: 1.7fr 1fr 1fr 1fr 1fr;}
	.business-list[data-open="2"]{ grid-template-columns: 1fr 1.7fr 1fr 1fr 1fr;}
	.business-list[data-open="3"]{ grid-template-columns: 1fr 1fr 1.7fr 1fr 1fr;}
	.business-list[data-open="4"]{ grid-template-columns: 1fr 1fr 1fr 1.7fr 1fr;}
	.business-list[data-open="5"]{ grid-template-columns: 1fr 1fr 1fr 1fr 1.7fr;}
	.business-card {aspect-ratio:auto;height: 42.68em;margin: 0;}
	.business-card button{
		display: inline-block;
		padding: 0;margin: 0;
		border-radius: 0;
		border: none;
		background-color: transparent;
		width: fit-content;
		background: #fff;
		color: #222;
		text-decoration: none;
	}

	.business-card img {
		position:absolute;
		inset:0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.business-card.is-open {height: auto;}

	.business-card__overlay {flex-direction: column;z-index: 99;}
	.business-card__overlay p{width: 100%;}
	.business-card__overlay .business-card__link-dtn{width: 100%; padding: 1em 0;}
}
@media (min-width: 960px){
	#top-hero .wrap{width: 100%;}
	.business-list{gap:1.5em;}
	.business-list[data-open="1"]{ grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr;}
	.business-list[data-open="2"]{ grid-template-columns: 1fr 1.2fr 1fr 1fr 1fr;}
	.business-list[data-open="3"]{ grid-template-columns: 1fr 1fr 1.2fr 1fr 1fr;}
	.business-list[data-open="4"]{ grid-template-columns: 1fr 1fr 1fr 1.2fr 1fr;}
	.business-list[data-open="5"]{ grid-template-columns: 1fr 1fr 1fr 1fr 1.2fr;}
	.business-card {height: 53.35vw;}
	.business-card__overlay p{padding: 2em;}
	.business-card__link-dtn a{font-size: 1.2em;border: .2em solid #515151;letter-spacing: .1em;}
	.business-card__link-dtn a:hover{	background-color: #515151;color: #fff;border: .2em solid #fff;}
}
@media (min-width: 1920px){
	.business-card {height: 30vw;}
}

h2.ruby-en{font-size: 1.714em;}
@media (min-width: 768px){
	h2.ruby-en{font-size: 1.714em;}
}
@media (min-width: 960px){
	h2.ruby-en{font-size: 2.285em;}
}

/* TOP - Important News */
#top-important-news{padding: 2rem 0 1rem;color: #fff;}
#top-important-news .news-list{width: 100%;}
#top-important-news .news-list dl{
	position: relative;
	padding: .1rem 2.5rem 1rem .2rem;

}
#top-important-news .news-list dl::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-size: 1.4em;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#top-important-news .news-list dt,#top-important-news .news-list dd{
	margin-left: 0;
}
#top-important-news .news-list dt{
	font-size: .857rem;
	line-height: 1.5;
	font-weight: bold;
}
#top-important-news .news-list dd a{
	display: inline-block;
	width: 100%;
	text-decoration: none;
	line-height: 1.7;
	color: #FFFFFF;
	border-radius: .14rem;
	position: relative;
}
#top-important-news .news-list dd a:hover{background-color: #D8D8D8;}
@media (min-width: 768px){
	#top-important-news .news-list dl{
		display: flex;
		-ms-align-items: center;
		align-items: center;
		padding: .2rem 2rem .2rem .2rem;
		margin-bottom: 0;
		min-height: 4em;
	}
	#top-important-news .news-list dt{width: 8.857rem;}
	#top-important-news .news-list dd{width: calc(100% - 8.857rem);}
	#top-important-news .news-list dd a{padding: 1rem 2.5rem 1rem 1rem;}
}
@media (min-width: 960px){
	#top-important-news .wrap{
		display: flex;
		justify-content: space-between;
	}
	#top-important-news h2{width: 7em;}
	#top-important-news .news-list{width: calc(94% - 34em);margin-top: .5em;}
	#top-important-news .news-list dt{text-align: center;}
	#top-important-news .wrap > div:last-child{	width: 14em;}
}

/* TOP - NEWS */
#top-news .news-list{	width: 100%;}
#top-news .news-list dl{
	position: relative;
	padding: .1em 2.5em 1em .2em;
	margin-bottom: 1rem;
	border-bottom: .12em solid #D8D8D8;
}
#top-news .news-list dl::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-size: 1.4em;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#top-news .news-list dt,#top-news .news-list dd{margin-left: 0;}
#top-news .news-list dt{
	font-size: .857rem;
	line-height: 1.5;
	font-weight: bold;
}
#top-news .news-list dt .cat{
	display: inline-block;
	padding: .2em;
	margin-left: 1em;
	line-height: 1;
	letter-spacing: .06em;
	width: 10em;
	text-align: center;
	background-color: #515151;
	color: #fff;
}
#top-news .news-list dd a{
	display: inline-block;
	width: 100%;
	text-decoration: none;
	line-height: 1.7;
	color: #515151;
	border-radius: .14em;
	position: relative;
}
#top-news .news-list dd a:hover{background-color: #D8D8D8;}
#top-news .btn_rounded-corners{text-align: right;}
@media (min-width: 768px){
	#top-news .news-list{margin: 2em 0;}
	#top-news .news-list dl{
		display: flex;
		align-items: center;
		padding: .2em 2em .2em .2em;
		margin-bottom: 0;
		min-height: 4em;
	}
	#top-news .news-list dt{width: 11em;}
	#top-news .news-list dt .cat{margin-left: 0;}
	#top-news .news-list dd{width: calc(100% - 11em);}
	#top-news .news-list dd a{padding: 1em 2.5em 1em 1em;}
}
@media (min-width: 960px){
	#top-news .wrap{
		display: flex;
		justify-content: space-between;
	}
	#top-news h2{width: 7em;}
	#top-news .news-list{width: calc(94% - 34em);margin: 0;}
	#top-news .news-list dt{text-align: center;}
	#top-news .btn_rounded-corners{
		display: flex;
		justify-content: flex-end;
		-ms-align-items: flex-end;
		align-items: flex-end;
		padding-bottom: 0;
		width: 14em;
	}
}

/* TOP - company */
#top-about .btn_rounded-corners{text-align: right;}
#top-about .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 44.6%;
	border-radius: 1.428rem;
}
#top-about .image img{
	position: absolute;
	top: 50%; left: 50%;
	width: auto; height: 100.1%;
	transform: translate(-50%, -50%);
}
@media (min-width: 960px){
	#top-about .wrap{
		display: flex;
		justify-content: space-between;
	}
	#top-about .text{width: 48.21%;}
	#top-about .image{width: 44.6%;padding-top: 44.6%;}
}
@media (min-width: 1920px){
	#top-about .text{width: 61.8%;}
	#top-about .image{width: 32.89%;padding-top: 32.89%;}
}

/* TOP - BUSINESS */
.grid-container{
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 1em;
	margin-bottom: 1em;
}
@media (min-width: 768px){
  .grid-tb-2col {
    grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 3em;
  }
}

@media (min-width: 960px){
	.grid-container{margin-bottom: 2em;}
  .grid-pc-2col {
    grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 3em;
  }
  .grid-pc-3col {
    grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 3em;
  }
  .grid-pc-split {
    grid-template-columns: 1fr 2.1fr;
		grid-column-gap: 3em;
  }
}

.business-summary .company-item a{text-decoration: none;}
.business-summary .company-item .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 58%;
	border-radius: .7em;
	box-shadow: 0 0 .5em 0 rgba(0, 0, 0, 0.25);
}
.business-summary .company-item .image img{
	position: absolute;
	top: 50%; left: 50%;
	width: 100%; height: auto;
	transform: translate(-50%, -50%);
	transition: all .2s linear;
}
.business-summary .company-item .title{position: relative;}
.business-summary .company-item .title p{
	font-size: 1.4em;
	line-height: 1;
	color: #515151;
	font-weight: bold;
	text-decoration: none;
	transition: all .2s linear;
}
.business-summary .company-item .title .link-icon{
	position: absolute;
	width: 2.7em;height: 2.7em;
	border-radius: 50vw;
	background-color: #515151;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .2s linear;
}
.business-summary .company-item a:hover .image img{width: 110%;}
.business-summary .company-item a:hover .title p{color: #828282;}
.business-summary .company-item a:hover .title p::before{color: #E9E9E9;}
.business-summary .company-item a:hover .title .link-icon{background-color: #828282;}

.business-summary .section-item a{
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #fff;
	background-color: #515151;
	border-radius: .7em;
	padding: .2em 1em;
	transition: all .2s linear;
}
.business-summary .section-item .icon{
	width: 25%;
	margin-right: 1em;
}
.business-summary .section-item .icon img{display: block;width: 100%;}
.business-summary .section-item .title{line-height: 1;margin: 0;}
.business-summary .section-item .title::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-weight: 700;
	padding-left: .5em;
	transition: all .2s linear;
}
.business-summary .section-item a:hover{background-color: #828282;}
.business-summary .section-item a:hover .title::after{padding-left: 1em;}


/* TOP - JOURNAL */
.top-journal-list .card a{
	display: block;
	width: 100%;height: 100%;
	text-decoration: none;
	border-radius: .7em;
	background-color: #FFF;
	box-shadow: 0 0 .5em 0 rgba(0, 0, 0, 0.25);
	transition: all .2s linear;
}
.top-journal-list .card .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 50%;
	border-radius: .7em;
}
.top-journal-list .card .image img{
	position: absolute;
	top: 50%; left: 50%;
	width: 100%; height: auto;
	transform: translate(-50%, -50%);
	transition: all .2s linear;
}
.top-journal-list .card .title{position: relative;}
.top-journal-list .card .title p{
	font-size: 1.4em;
	line-height: 1;
	color: #515151;
	font-weight: bold;
	text-decoration: none;
	transition: all .2s linear;
}
.top-journal-list .card .title .link-icon{
	position: absolute;
	width: 2.7em;height: 2.7em;
	border-radius: 50vw;
	background-color: #515151;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .2s linear;
}
.top-journal-list .card .text{
	padding: 1.5rem;
	color: #515151;
	transition: all .2s linear;
}

.top-journal-list .card a:hover{box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.25);}
.top-journal-list .card a:hover .image img{width: 110%;}
.top-journal-list .card a:hover .text,
.top-journal-list .card a:hover .text .ruby-en{color: #828282;}
.top-journal-list .card a:hover .text .ruby-en::before{color: #E9E9E9;}
.top-journal-list .card a:hover .link-icon{background-color: #828282;}

.top-journal-list p.title.ruby-en{
	font-size: 1.5em;
	font-weight: 700;
	margin-top: 0;
}

.top-journal-list ul.sns-list{
	padding-left: 0;
	list-style-type: none;
}
.top-journal-list ul.sns-list li{
	display: flex;
	align-items: center;
	font-weight: bold;
	line-height: 1.1;
}
.top-journal-list ul.sns-list .icon-item {
	margin: .5em;
}
.top-journal-list ul.sns-list .icon-item a{
	width: 5em;height: 5em;
	box-shadow: 0 0 .7em 0 rgba(0, 0, 0, 0.25);
	border-radius: 100vw;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .7em;
	margin-right: 1em;
	transition: all .2s linear;
}
.top-journal-list ul.sns-list .icon-item a img{
	display: block;
	width: 100%;
	transition: all .2s linear;
}
.top-journal-list ul.sns-list .icon-item a:hover{padding: .5em;}

@media (min-width: 768px){
	.top-journal-list div:last-child{grid-column: 1 / 3 ;}
}
@media (min-width: 960px){
/*	.top-journal-list .card .image{	padding-top: 33.4%;}*/
	.top-journal-list div:last-child{grid-column: 1 / 4 ;}
	.top-journal-list .card .title p{font-size: 1.714em;}
}

.top-partner-list{
	padding: 0;
	margin: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
.top-partner-list li{height: 4.5em;}
.top-partner-list li img{height: 100%;}
@media screen and (min-width: 960px){
	.top-partner-list li{height: 5.5em;}
}
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* CHILD PAGE */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* - BREAD CRUMB*/
ul.breadcrumb{
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding-left: 0;
	margin: 1rem 0 3rem;
	color: #000000;
	font-size: .75rem;
	list-style-type: none;
}
ul.breadcrumb li{
	padding: 0.2em;
	padding-right: 0.6em;
}
ul.breadcrumb li a{
	color: #000000;
	text-decoration: underline;
}
ul.breadcrumb li a:hover{color: #D9D9D9;}
ul.breadcrumb li::after{
	content: ">";
	padding-left: 0.6em;
}
ul.breadcrumb li:last-child::after{	content: "";}

h1.page-title,p.parent-title{font-size: 2.25em; margin-bottom: 5rem; font-weight: 700;}
@media (min-width: 960px){
	h1.page-title{margin-bottom: 3rem;}
}



.page-nav {
	padding-left: 0;
	margin-top: 3em;
	text-align: center;
}
.page-nav li {
	display: inline;
	list-style: none outside none;
}
.page-nav li a {
	border: .0625em solid #000;
	color: #000000;
	font-weight: bold;
	text-decoration: none;
}
.page-nav li a:hover {
	background-color: #777777;
	color: #fff;
}
.page-nav li a:active {
	box-shadow: 0 0 .18em rgba(0,0,0,0.2) inset;
	top: .0625em;
}
.page-nav li.current span {
	border: .0625em solid #000;
	background-color: #000;
	color: #fff;
	font-weight: bold;
}
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span {
	background-color: #f0f0f0;
	border: .0625em solid #d4d4d4;
	color: #d4d4d4;
	text-decoration: none;
}
.page-nav li.page_nums span {
	background: #666666;
	border: .0625em solid #333;
	color: #fff;
}
.page-nav li a,
.page-nav li.current span,
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span,
.page-nav li.page_nums span {
	padding: 0.25em 0.8em;
	display: inline-block;
	position:relative;
}

/* ARCHIVE */
.news-list .list-item{
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: .1em solid #555;
}
.news-list .list-item .article-info .cat{
	display: inline-block;
	font-size: .8em;
	width: 10em;
	text-align: center;
	background-color: #515151;
	color: #fff;
	margin-left: 2em;
}
.news-list .list-item .permalink,
.news-list .list-item .permalink a{color: #515151;}
.news-list .list-item .permalink{padding-left: 1em;}
.news-list .list-item .permalink a:hover{color: #d3d3d3;}
@media (min-width: 768px){
	.news-list .list-item{display: flex;}
	.news-list .list-item .article-info{width: 18em;}
	.news-list .list-item .permalink{
		width: calc(100% - 18em);
		padding-left: 0;
	}
}
@media (min-width: 960px){
	.news-list {width: 70%;margin: auto;}
}

.page-links-list{
	background-color: #f3f3f3;
	padding: 2rem 0;
}
.page-links-list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.page-links-list ul li{
	padding: .2rem;
}
.page-links-list ul li:first-child{
	padding-left: 0;
}
.page-links-list ul li a{
	text-decoration: none;
	padding: .1em .7em;
	color: #515151;
	font-weight: 700;
}
.page-links-list ul li a:hover{color: #909090;}
.page-links-list ul li a.current{pointer-events: none;color: #909090;}
@media (min-width: 960px){
	.news-cat-list ul li a{font-size: 1.143rem;}
}

.archive-list{padding-top: 3rem;padding-bottom: 3rem;}
.archive_item{margin-bottom: 3rem;}
.archive_item a{
	display: block;
	text-decoration: none;
	border-radius: .7rem;
	background-color: #FFF;
	box-shadow: .285rem .285rem .57rem 0 rgba(0, 0, 0, 0.25);
	transition: all .2s linear;
	height: 100%;
}
.archive_item .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 62.5%;
	border-radius: .7rem;
	background-color: #f3f3f3;
}
.archive_item img{
	position: absolute;
	top: 50%; left: 50%;
	width: 100.1%; height: 100.1%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	transition: all .2s linear;
}
.archive_item .text{
	padding: 1.5rem;
	color: #515151;
	transition: all .2s linear;
}
.archive_item .text .article-info .cat{
	display: inline-block;
	padding: .2rem;
	margin-right: 1rem;
	width: 7rem;
	text-align: center;
	background-color: #ffca42;
	color: #fff;
	border-radius: .28rem;
	letter-spacing: .07em;
}
.archive_item .text .article-info time{font-weight: bold;}
.archive_item .text dt{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.5;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	margin-top: .2rem;
	margin-bottom: 1rem;
}
.archive_item .text dd{
	margin-left: 0;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 1.5;
}

.archive_item a:hover{box-shadow: .285rem .285rem 1rem 0 rgba(0, 0, 0, 0.25);}
.archive_item a:hover .image img{width: 120%; height: 120%;}
.archive_item a:hover .text{color: #d8d8d8;}
@media (min-width: 768px){
	.archive-list{
		display: flex;
		flex-wrap: wrap;
		-ms-align-items: stretch;
		align-items: stretch;
		margin-left: -1.7rem;
		margin-right: -1.7rem;
	}
	.archive_item{
		width: 50%;
		padding-left: 1.7rem;
		padding-right: 1.7rem;
	}
}
@media (min-width: 960px){
	.archive_item{
		width: calc(100% / 3);
	}
}

/* ARCHIVE NAVIGATION */
.navigation.pagination{
	width: 100%;
	padding: 1em 0 3em;
}
.navigation.pagination .screen-reader-text{display: none;}
.navigation.pagination ul.page-numbers {
  margin-top: 1.25em;
	text-align: center;
	padding-left: 0;
}
.navigation.pagination ul.page-numbers li {
	display: inline;
	list-style: none outside none;
}
.navigation.pagination ul.page-numbers li a.page-numbers,
.navigation.pagination ul.page-numbers li span.page-numbers {
	padding: 0.25em 0.8em;
	display: inline-block;
	position:relative;
}
.navigation.pagination ul.page-numbers li a.page-numbers {
	border: .0625em solid #d9d9d9;
	color: #515151;
	text-decoration: none;
	border-radius: .18em;
}
.navigation.pagination ul.page-numbers li a:hover {
	background-color: #515151;
	color: #fff;
}
.navigation.pagination ul.page-numbers li a:active {
	box-shadow: 0 0 .18em rgba(0,0,0,0.2) inset;
	top: .0625em;
}
.navigation.pagination ul.page-numbers li span.page-numbers {
	background: rgb(248,248,248);
	border: .0625em solid rgb(230,230,230);
	color: rgb(180,180,180);
	text-decoration: none;
	border-radius: .18em;
}
.navigation.pagination ul.page-numbers li span.current {
	border: .0625em solid #515151;
	color: #515151;
	font-weight: bold;
	border-radius: .18em;
}
.navigation.pagination ul.page-numbers li span.dots{
	background: transparent;
	border:none;
	padding: 0.25em;
}

/* COMPANY */
dl.responsive-table dt{font-weight: 700;}
dl.responsive-table dd{margin-left: 0;padding-bottom: 1em;margin-bottom: 1em;border-bottom: 1px solid #b9b9b9;}

@media (min-width: 768px){
	dl.responsive-table{
		display: grid;
		grid-template-columns: 10em 1fr;
	}
	dl.responsive-table dt,	dl.responsive-table dd{padding-left: .7em;padding-right: .7em;}
	dl.responsive-table dt{padding-bottom: 1em;margin-bottom: 1em;border-bottom: 1px solid #b9b9b9;}
}

.office-item,.access{margin-top: 1.5em;	margin-bottom: 1.5em;}
.office-item h3,.access h3{font-size: 1.4em;position: relative;}
.office-item h3 a{
	position: absolute;
	display: block;
	width: 3em;
	height: 3em;
	padding: .3em;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.office-item h3 a img{width: 100%;}
.office-item h3 a:hover img{opacity: .7;}
.office-item .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 63.8%;
	margin-bottom: 1em;
	border-radius: .7em;
}
.office-item .image img{
	position: absolute;
	top: 50%; left: 50%;
	width: 100.1%; height: 100.1%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	transition: all .2s linear;
}
.access{width: 100%;}
.access .map-bese{
	position: relative;
	overflow: hidden;
	padding: 0;
	padding-top: 63.8%;
	width: 100%;
	height: 0;
	z-index:0;
	margin-bottom: 1em;
}
.access .map-bese iframe{
	border:none;
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	z-index:0;
}
.access .directions div{margin-bottom: 1em;}

@media (min-width: 768px){
	.head-office,.other-offices{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 1.7em;
		grid-row-gap: 3em;
		margin-bottom: 3em;
	}
	.access .directions{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 1.7em;
	}
}
@media (min-width: 960px){
	.head-office{
		grid-template-columns: 1fr 2fr;
	}
	.other-offices{
		grid-template-columns: repeat(3,1fr);
	}
	.access .map-bese{padding-top: 32%;}
}


.external-links{
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 1em;
}
.external-links .item a{text-decoration: none;}
.external-links .item .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 44%;
	border-radius: .7em;
}
.external-links .item .image img{
	position: absolute;
	top: 50%; left: 50%;
	width: 100.1%; height: 100.1%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	transition: all .2s linear;
}
.external-links .item .title{position: relative;}
.external-links .item .title p{
	position: relative;
	padding-top: 1em;
	padding-right: 3em;
	font-size: 1.5em;
	line-height: 1.3;
	color: #515151;
	font-weight: bold;
	text-decoration: none;
	transition: all .2s linear;
}
.external-links .item .title p span{
	position: absolute;
	font-size: .7em;
	line-height: 1em;
	top: 0;
}
.external-links .item .title .link-icon{
	position: absolute;
	width: 2.7em;height: 2.7em;
	border-radius: 50vw;
	background-color: #515151;
	color: #fff;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .2s linear;
}
.external-links .item a:hover .image img{height: 120%;}
.external-links .item a:hover .title p{color: #909090;}
.external-links .item a:hover .title p::before{color: #F9F9F9;}
.external-links .item a:hover .link-icon{background-color: #909090;}
.certification-card{
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 1em;
	margin-bottom: 3em;
}
.certification-card .image{
	width: 13em;
	overflow: hidden;
	position: relative;
	margin: auto;
}
.certification-card .image:after{
  display: block;
  padding-top: 100%;
  content: '';
}
.certification-card .image img{
	position: absolute;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  max-width: 100%;
  max-height: 100%;
  transform: translate(-50%, -50%);
}
.certification-card dl dt.title{
	font-weight: bold;
	margin-bottom: 1.8em;
}
.certification-card dl dt.title + dd{
	margin-left: 0;
}
@media (min-width: 768px){
	.external-links{grid-template-columns: repeat(2 , 1fr);grid-column-gap: 2em;}
	.certification-card{grid-template-columns: 1fr 2fr;grid-column-gap: 1em;}
	.certification-card .image{width: 100%;}
}
@media (min-width: 960px){
	.external-links{grid-template-columns: repeat(3 , 1fr);grid-column-gap: 2em;}
	.certification-card{grid-template-columns: 1fr 3fr;grid-column-gap: 1em;}
}



/* media */
ul.pr-year-list{
	padding-left: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
ul.pr-year-list li{
	margin: 0;
	padding: .2em;
	line-height: 1;
}
ul.pr-year-list li a{
	display: inline-block;
	padding: .5em 1em;
	text-decoration: none;
	color: #fff;
	background-color: #515151;
	border-radius: 100vw;
}
ul.pr-year-list li a:hover{
	background-color: #9E9E9E;
}
@media (min-width: 768px){
	ul.pr-year-list{width: 70%;margin: auto;}
	ul.pr-year-list li{padding: .8em;}
	ul.pr-year-list li a{font-size: 1.1em;padding: .7em 1em;}
}
@media (min-width: 960px){
	ul.pr-year-list{width: 60%;}
	ul.pr-year-list li{padding: 1em;}
	ul.pr-year-list li a{font-size: 1.1em;padding: .7em 1.5em;}
}


.media-card a{
	display: block;
	width: 100%;height: 100%;
	text-decoration: none;
	border-radius: .7em;
	background-color: #FFF;
	box-shadow: 0 0 .5em 0 rgba(0, 0, 0, 0.25);
	transition: all .2s linear;
}
.media-card .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 50%;
	border-radius: .7em;
}
.media-card .image img{
	position: absolute;
	top: 50%; left: 50%;
	width: 100%; height: auto;
	transform: translate(-50%, -50%);
	transition: all .2s linear;
}
.media-card .title{position: relative;}
.media-card .title p{
	font-size: 1.4em;
	line-height: 1;
	color: #515151;
	font-weight: bold;
	text-decoration: none;
	transition: all .2s linear;
}
.media-card .title .link-icon{
	position: absolute;
	width: 2.7em;height: 2.7em;
	border-radius: 50vw;
	background-color: #515151;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .2s linear;
}
.media-card .text{
	padding: 1.5rem;
	color: #515151;
	transition: all .2s linear;
}

.media-card a:hover{box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.25);}
.media-card a:hover .image img{width: 110%;}
.media-card a:hover .text,
.media-card a:hover .text .ruby-en{color: #828282;}
.media-card a:hover .text .ruby-en::before{color: #E9E9E9;}
.media-card a:hover .link-icon{background-color: #828282;}
@media (min-width: 768px){
	.media-card{width: 70%;margin: auto;}
}
@media (min-width: 960px){
	.media-card{width: 70%;margin: auto;}
	.media-card .image{padding-top: 25%;}
}

dl.social-media dt{
	font-size: 1.4em;
	font-weight: 700;
}
dl.social-media dd{
	padding-bottom: 1em;
	margin-bottom: 1em;
	margin-left: 0;
	border-bottom: 1px solid #515151;
}
dl.social-media ul{
	padding-left: 0;
	list-style-type: none;
}
dl.social-media ul li{
	display: flex;
	align-items: center;
	font-weight: bold;
	line-height: 1.1;
	margin: .5em;
}
dl.social-media ul li a{
	width: 5em;height: 5em;
	box-shadow: 0 0 .7em 0 rgba(0, 0, 0, 0.25);
	border-radius: 100vw;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	margin-right: 1em;
	transition: all .2s linear;
}
dl.social-media ul li a img{
	display: block;
	width: 100%;
	transition: all .2s linear;
}
dl.social-media ul li a:hover{padding: .5em;}
@media (min-width: 960px){
	dl.social-media{width: 70%;margin: auto;}

}

.magazine-list{
	padding: 2em 0;
	display: grid;
	grid-template-columns: repeat(2 , 1fr);
	grid-column-gap: 2em;
	grid-row-gap: 2em;
}
.magazine-list .download-box a{
	display: block;
	width: 100%;height: 100%;
	color: #000;
	text-decoration: none;
	transition:0.3s;
	padding: .5em;
}
.magazine-list .download-box img{
	display: block;
	width: 10.5em;
	margin: auto;
	transition:0.3s;
}
.magazine-list .download-box p{
	text-align: center;
}
.magazine-list .download-box a:hover{
	color: #D0D0D0;
	box-shadow: 0 .0 .36em rgb(0 0 0 / 0.16);
}
@media (min-width: 768px){
	.magazine-list{grid-template-columns: repeat(3 , 1fr);}

}
@media (min-width: 960px){
	.magazine-list{
		width: 80%;margin: auto;
		grid-template-columns: repeat(4 , 1fr);
	}

}



/*  */

/* CONTACT */
.contact-links .btn_rounded-corners a{
	width: 100%;
	position: relative;
	padding: 1em 3em;
}
.contact-links .btn_rounded-corners a::after{
	position: absolute;
	top: 50%;right: 2rem;
	font-size: 1.7em;
	transform: translateY(-50%);
}

@media(min-width:768px){
	.contact-links{
		display: flex;
		justify-content: space-evenly;
		flex-wrap: wrap;
	}
	.contact-links .btn_rounded-corners a{
		width: 18em;
		padding: 1em 2em;
	}
}

.formWrap{width: 100%;margin: 0 auto 1rem;}
.formWrap dt .required{
  display: block;
  font-size: .8em;
  color: #f00;
}
.formWrap dt .required::before{
  content:"*必須";
}
.formWrap dd{margin-left: 1em;}
.formWrap .fields > dl{margin-bottom: 1rem;}
.formWrap .fields input,.formWrap .fields button{cursor: pointer;}
.formWrap .fields input[type="text"],
.formWrap .fields input[type="tel"],
.formWrap .fields input[type="date"],
.formWrap .fields select,
.formWrap .fields textarea{
	background-color: #fff;
	border-radius: .12em;
	padding: .8em;
	border: .06em solid #939498;
	width: 100%;
}
[class*="radio"] label,
[class*="checkbox"] label{
	border-radius: .12em;
	padding: .8em;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	margin-bottom: .7em;
}
.formWrap .fields input[type="text"]:hover,
.formWrap .fields input[type="date"]:hover,
.formWrap .fields select:hover,
.formWrap .fields textarea:hover{
	border: .06em solid #162144;
}
[class*="radio"] label:hover,
[class*="checkbox"] label:hover{
  background-color: #efefef;
}
.formWrap .fields input[type="text"]::placeholder,
.formWrap .fields input[type="tel"]::placeholder,
.formWrap .fields input[type="date"]::placeholder,
.formWrap .fields select:has(option:checked[value=""]),
.formWrap .fields textarea::placeholder{
  color: #D1D3D4;
}
.formWrap .fields .checkbox,.formWrap .fields .radio{
  display: flex;
  flex-wrap: wrap;
}
.formWrap .fields input[type="checkbox"]{
  -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1em;
	position: relative;
	width: 2em;height: 2em;
	margin-right: .5em;
	border: .1rem solid #eaeaea;
  background-color: #fff;
	border-radius: .12em;
}
.formWrap .fields input[type="checkbox"]:checked::before{
  position: absolute;
	content:"";
	top: .2em;
	left: .6em;
	transform: rotate(50deg);
	width: .5em;
	height: 1em;
	border-right: .2em solid #515151;
	border-bottom: .2em solid #515151;
}
.formWrap .fields input[type="radio"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1em;
	position: relative;
	width: 2rem;height: 2rem;
	margin-right: .5rem;
	border: .1rem solid #eaeaea;
  background-color: #fff;
	border-radius: 100vw;
}
.formWrap .fields input[type="radio"]:checked::before{
	position: absolute;
	content:"";
	top: 50%;
	left: 50%;
	transform: translate(-50% ,-50%);
	width: 1.3rem;
	height: 1.3rem;
	background-color: #515151;
	border-radius: 100vw;
}
.formWrap input[type="submit"],.formWrap input[type="reset"]{
	margin: 1rem;
	display: inline-block;
	text-decoration: none;
	border-radius: 1rem;
	font-size: 1.2rem;
	width: 6em;
	text-align: center;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	color: #fff;
	padding: .66em;
	transition: all .5s;
	border: none;
	cursor: pointer;
}
.formWrap input[type="reset"]{
  color: #3b3c3c;
	background-color: #cdcdcd;
}
.formWrap .example-message{
	color: #8A8A8A;
	font-size: .8em;
	text-align: left;
	margin-top: .1rem;
	margin-bottom: .1rem;
	width: 100%;
}
.formWrap .fields input[type="text"].name-text,
.formWrap .fields input[type="text"].p-postal-code,
.formWrap .fields input[type="text"].p-region{width: 8em;}
.formWrap .fields input[type="tel"]{width: 11em;}
.formWrap .fields input[type="text"].p-locality{width: 15em;}
.formWrap .fields input[type="text"].number_of_cars{width: 5em;}
.formWrap .fields input[type="text"].p-postal-code,
.formWrap .fields input[type="text"].p-region,
.formWrap .fields input[type="text"].p-locality{margin-bottom: .5em;}
.formWrap .fields .agreement{justify-content: center;font-size: .8rem;}
@media (min-width: 768px){
  .formWrap{width: 76.73%;}
}
@media (min-width: 960px){
  .formWrap{width: 60%;}
}

/*  */
.terms-content{width: 100%;font-size: .85rem;line-height: 1.2;}
.sitemap-content{width: 100%;}
article{width: 100%;line-height: 1.75;margin-bottom: 5em;color: #282828;}
article h1{font-size: 1.25em;line-height: 1.7;}
article h2{font-size: 1.25em;line-height: 1.7;}
article h3{font-size: 1.15em;line-height: 1.7;}
article .eyecatch{margin-bottom: 2em;}
article .eyecatch img{width: 100%;display: block;}
@media(min-width:768px){
	.terms-content,.sitemap-content,article{width: 85%;margin: auto;}
	article h1{font-size: 2em;line-height: 1.5;}
	article h2{font-size: 1.75em;line-height: 1.5;margin-top: 1em;}
	article h3{font-size: 1.35em;line-height: 1.5;margin-top: 1em;margin-bottom: .7em;}
}
@media(min-width:960px){
	.terms-content,.sitemap-content,article{width: 75%;}
}




/* 404 */
.wrap-search{width: 100%;margin: auto;}
.searchform-base{width: 100%;margin: 3rem 0;}
.searchform-base dt{
	box-sizing: border-box;
	font-weight: bold;
	padding: .2em;
	padding-left: 1em;
	margin-bottom: .5em;
	font-size: 1.6em;
	line-height: 1;
	border-left: .5em solid #ffca42;
}
.searchform-base dd{margin-left: 0;}

#searchform{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	background-color: #fff;
	border-radius: .7rem;
	box-shadow: 0 0 .85rem 0 rgba(0, 0, 0, 0.04), .07rem .07rem .28rem 0 rgba(0, 0, 0, 0.25);
}
#searchform input[type="text"]{
	padding: 1em;
	width: calc(100% - 3em);
	height: 3em;
	border-style: none;
	border: none;
	font-size: 1em;
	border-top-left-radius: .7rem;
	border-bottom-left-radius: .7rem;
}
#searchform input[type="submit"]{
	border-style: none;
	height: 3em;
	width: 3em;
	display: block;
	background-color: #fff;
	background-image: url(img/icon-search.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1.5em;
	cursor: pointer;
	border-top-right-radius: .7rem;
	border-bottom-right-radius: .7rem;
	border-left: .07rem solid #d8d8d8;
}
#searchform input[type="submit"]:hover{	background-color: #ffca42;}
@media (min-width:768px) {
	.wrap-search{width: 70%;}
	#searchform input[type="text"]{height: auto;line-height: 2;	width: calc(100% - 4em);}
	#searchform input[type="submit"]{ height: 4em; width: 4em;}
}
@media (min-width:960px) {
	.wrap-search{width: 60%;}
}

/* SEARTCH */
.search-list{width: 100%;margin: 3rem auto;}
.page-list-item,.news-list-item{
	padding: 1rem .2rem;
	margin-bottom: 1rem;
	border-bottom: .12rem solid #D8D8D8;
}
.page-list-item a,.news-list-item a{
	display: block;
	box-sizing: border-box;
	color: #515151;
	text-decoration: none;
	padding: .2rem 1rem;
	transition: all .2s linear;
}
.page-list-item a:hover,.news-list-item a:hover{color: #D8D8D8;}
.page-list-item dt,.news-list-item dt{
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: .5rem;
}
.news-list-item dt{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 1.5;	
}
.page-list-item dd,.news-list-item dd{
	margin-left: 0;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 1.5;
}

.news-list-item .article-info{
	font-size: .8em;
	line-height: 1.5;
	margin-bottom: .5rem;
}
.news-list-item .article-info .cat{
	display: inline-block;
	padding: .08em .2em;
	margin-right: 1rem;
	width: 7em;
	text-align: center;
	background-color: #ffca42;
	color: #fff;
	border-radius: .28em;
	letter-spacing: .07em;
	transition: all .2s linear;
}
.news-list-item a:hover .article-info .cat{background-color: #FFE9B2;}
.news-list-item .article-info time{font-weight: bold;}

/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* POST */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
.share-container{width: 100%;padding: 1em 0;}
.share-container p{
	text-align: center;
	color: #000;
	font-size: 16px;
}
.share-container ul{
	padding-left: 0;
	list-style-type: none;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
}
.share-container li{padding:0 1em 1em;}
.share-container li button{
	cursor: pointer;
	background-color: transparent;
	border: none;
	padding: 0;
}
.share-container li img{width: 3em;height: auto;}
.share-container li button:hover img,.share-container li a:hover img{opacity: .7;}

.prev_next_nav{
	font-size: .8rem;
	margin: 2rem 0 3rem;
	display: flex;
	justify-content: space-evenly;
	-ms-align-items: center;
	align-items: center;
}
.prev_next_nav a{
	text-decoration: none;
	color: #000;
}
.prev_next_nav .prev-link a,.prev_next_nav .next-link a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: #454545;
	height: 3em;
}
.prev_next_nav .prev-link a::before{content: '前の記事';}
.prev_next_nav .next-link a::before{content: '次の記事';}
.prev_next_nav .prev-link a::after,.prev_next_nav .next-link a::after{
	position: absolute;
	display: block;
	content: "";
	width: .9em;
	height: 1em;
	background-color: #454545;
}
.prev_next_nav .prev-link a:hover,.prev_next_nav .next-link a:hover{color: #ffca42;}
.prev_next_nav .prev-link a:hover::after,.prev_next_nav .next-link a:hover::after{background-color: #ffca42;}
.prev_next_nav .prev-link a{padding-left: 1.5em;}
.prev_next_nav .prev-link a::after{
	clip-path: polygon(100% 0, 100% 100%, 0 50%);
	left: 0;
}
.prev_next_nav .next-link a{padding-right: 1.5em;}
.prev_next_nav .next-link a::after{
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	right: 0;
}
.prev_next_nav .link-back a{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	line-height: normal;
	background-color: #515151;
	color: #fff;
	padding: 1em 2.286em;
	transition: all .5s;
}
.prev_next_nav .link-back a:hover{
	background-color: #FFCA42;
}
.article-date{
	display: flex;
	-ms-align-items: center;
	align-items: center;
	margin-bottom: 1em;
}
.article-date .date{
	margin-right: 2em;
	color: #d8d8d8;
	font-size: .7em;
}
.article-date .cat{
	padding: 0 .7em;
	background-color: #515151;
	color: #fff;
	font-size: .7em;
}
@media(min-width:768px){
	.prev_next_nav{font-size: 1rem;}
	.prev_next_nav .prev-link a::before{content: '前の記事を読む';}
	.prev_next_nav .next-link a::before{content: '次の記事を読む';}
}
@media(min-width:960px){
	.prev_next_nav{margin: 4rem 0 5rem; justify-content: space-evenly;}
}


.scroll-box {
	width:100%;
	overflow-x: auto;
	padding-bottom: 1em;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
}
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar { height: .2em;}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track { background: #eee;}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb { background: #aaa; border: none;}
/*スクロールバーの動く部分のホバー（マウスオーバー）*/
.scroll-box::-webkit-scrollbar-thumb:hover { background: #999;}
@media(min-width: 960px){
	.scroll-box {
		overflow-x: infinite;
		white-space: normal;
	}
}



.more-link{
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.more-link a{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	color: #fff;
	padding: 1em 2.286em;
	transition: all .5s;
}
.more-link a.pointer-none{
	pointer-events: none;
	background-color: #e3e3e3;
}
.more-link a:hover{
	background-color: #FFCA42;
}
table{
	border-collapse: collapse;
	width: 100%;
}
table.type00 th,
table.type00 td{
	padding: .2em .5em;
	font-size: .9em;
	border: 0.06em solid #f2f2f2;
}

table.type01{
	width: 100%;
}
table.type01 th,
table.type01 td{
	text-align: left;
	padding: .2em .5em;
	font-size: .9em;
}
table.type01 th{
	font-weight: normal;
	min-width: 8em;
}
table.type01 tr:nth-child(odd) th,
table.type01 tr:nth-child(odd) td{
	background-color: #f2f2f2;
}
table.type01 tr:nth-child(even) th,
table.type01 tr:nth-child(even) td{
	background-color: #FFFFFF;
}

table.type02{
	width: 100%;
}
table.type02 th,
table.type02 td{
	padding: .2em .5em;
	font-size: .9em;
	border: 0.125em solid #f2f2f2;
}
table.type02 th{
	background-color: #DCDCDC;
	width: 5em;
}
.marker_yellow {background: linear-gradient(transparent 60%, #ffff66 60%);}
.marker_lime {background: linear-gradient(transparent 60%, #c4ffeb 60%);}
.marker_blue {background: linear-gradient(transparent 60%, #c2d4ff 60%);}
.marker_pink {background: linear-gradient(transparent 60%, #ffbfff 60%);}
.nutshell{
	border: .5em solid #a96116;
	padding: 0 1.2em;
	background-color: #f5f5f5;
	margin-bottom: 2em;
	color: #333;
}
.nutshell h4 span{
	color: #fff;
	background-color: #013a23;
	padding: .3em .6em;
	border-radius: 0.125em;
}
