@charset "utf-8";
@font-face {
	font-family: 'Town 10 Display';
	src: url('font/town-10-display-bold.ttf') ;
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;700&family=Noto+Serif+JP:wght@200;400;700&family=Roboto:ital,wght@0,100;0,400;0,700;0,900;1,100;1,400;1,700;1,900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css');
/*
Theme Name: TDHD-202308
Description: TDHDのテーマ
Author: STAR STUDIO Co., Ltd.
Author URI: https://starstudio-design.com/
Version: 1.0.3
*/



/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* OTHER SETTING */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
.hidden{
	display: none;
}
div, img, figure, section, article{
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


a{color: #074c81;}
a:hover{color: #5181a6;}
a.pointer-none{pointer-events: none;}


.frame--very-light-gray{ border: 0.0625em solid #eeeeee;}
.frame--cyan-bluish-gray{ border: 0.0625em solid #abb8c3;}
.frame--white{ border: 0.0625em solid #ffffff;}
.frame--pale-pink{ border: 0.0625em solid #f78da7;}
.frame--vivid-red{ border: 0.0625em solid #cf2e2e;}
.frame--luminous-vivid-orange{ border: 0.0625em solid #ff6900;}
.frame--luminous-vivid-amber{ border: 0.0625em solid #fcb900;}
.frame--light-green-cyan{ border: 0.0625em solid #7bdcb5;}
.frame--vivid-green-cyan{ border: 0.0625em solid #00d084;}
.frame--pale-cyan-blue{ border: 0.0625em solid #8ed1fc;}
.frame--vivid-cyan-blue{ border: 0.0625em solid #0693e3;}
.frame--vivid-purple{ border: 0.0625em solid #9b51e0;}

.frame--google-blue{ border: 0.0625em solid #4285f4;}
.frame--google-green{ border: 0.0625em solid #34a853;}
.frame--google-yellow{ border: 0.0625em solid #fbbc05;}
.frame--google-red{ border: 0.0625em solid #ea4335;}

.bg--very-light-gray{ background-color: #eeeeee;}
.bg--cyan-bluish-gray{ background-color: #abb8c3;}
.bg--white{ background-color: #ffffff;}
.bg--pale-pink{ background-color: #f78da7;}
.bg--vivid-red{ background-color: #cf2e2e;}
.bg--luminous-vivid-orange{ background-color: #ff6900;}
.bg--luminous-vivid-amber{ background-color: #fcb900;}
.bg--light-green-cyan{ background-color: #7bdcb5;}
.bg--vivid-green-cyan{ background-color: #00d084;}
.bg--pale-cyan-blue{ background-color: #8ed1fc;}
.bg--vivid-cyan-blue{ background-color: #0693e3;}
.bg--vivid-purple{ background-color: #9b51e0;}

.bg--google-blue{ background-color: #4285f4;}
.bg--google-green{ background-color: #34a853;}
.bg--google-yellow{ background-color: #fbbc05;}
.bg--google-red{ background-color: #ea4335;}

.color--cyan-bluish-gray{ color: #abb8c3;}
.color--white{ color: #ffffff;}
.color--pale-pink{ color: #f78da7;}
.color--vivid-red{ color: #cf2e2e;}
.color--luminous-vivid-orange{ color: #ff6900;}
.color--luminous-vivid-amber{ color: #fcb900;}
.color--light-green-cyan{ color: #7bdcb5;}
.color--vivid-green-cyan{ color: #00d084;}
.color--pale-cyan-blue{ color: #8ed1fc;}
.color--vivid-cyan-blue{ color: #0693e3;}
.color--vivid-purple{ color: #9b51e0;}
.color--very-light-gray{ color: #eeeeee;}

.color--google-blue{ color: #4285f4;}
.color--google-green{ color: #34a853;}
.color--google-yellow{ color: #fbbc05;}
.color--google-red{ color: #ea4335;}

a{color: #074c81;}
a:hover{color: #5181a6;}
a.pointer-none{pointer-events: none;}

.frame-white{ border: 0.0625em solid #ffffff;}
.frame-dwhite{ border: 0.0625em solid #f0f0f0;}
.frame-lgray{ border: 0.0625em solid #F4F4F4;}
.frame-gray{ border: 0.0625em solid #c8c8c8;}
.frame-dgray{ border: 0.0625em solid #727171;}
.frame-lblack{ border: 0.0625em solid #6e6e6e;}
.frame-black{ border: 0.0625em solid #1a1a1a;}
.frame-anchor{ border: 0.0625em solid #074c81;}
.bdw02{border-width: .125em;}
.bdw03{border-width: .187em;}
.bdw04{border-width: .25em;}
.bdw05{border-width: .3125em;}

.bg-white{ background-color: #FFFFFF;}
.bg-dwhite{ background-color: #f0f0f0;}
.bg-lgray{ background-color: #F4F4F4;}
.bg-gray{ background-color: #c8c8c8;}
.bg-dgray{ background-color: #727171;}
.bg-lblack{ background-color: #6e6e6e;}
.bg-black{ background-color: #1a1a1a;}
.bg-anchor{ background-color: #074c81;}

.c-white{ color: #FFFFFF;}
.c-dwhite{ color: #f0f0f0;}
.c-lgray{ color: #F4F4F4;}
.c-gray{ color: #c8c8c8;}
.c-dgray{ color: #727171;}
.c-lblack{ color: #6e6e6e;}
.c-black{ color: #1a1a1a;}
.c-anchor{ color: #074c81;}

.hover-op07:hover,
.hover-op07:hover img{opacity: .7;}

.cc-message{ font-size: 0.8em;}
.cc-compliance .cc-btn.cc-deny {display:none;}
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* COMMON */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* FONT FAMILY */
body {
	font-family: 'Roboto', 'Noto Sans JP', sans-serif, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.ff-serif{font-family: 'Noto Serif JP', serif, "MS Serif", "New York", "serif";}
.ff-roboto{font-family: 'Roboto', sans-serif;}
.ff-t10d{font-family: 'Town 10 Display';}
/* FONT */
h1{font-size: 2.625em; line-height: 1.1em; padding-top: 0.625em; padding-bottom: 0.625em; margin-bottom: 0.625em;}
h2{font-size: 1.5em; line-height: 1.3em; padding-top: 0.625em; padding-bottom: 0.625em; margin-bottom: 0.625em;}
h3{font-size: 1.75em; line-height: 1.3em; padding-top: 0.625em; padding-bottom: 0.625em; margin-bottom: 0.625em;}
h4{font-size: 1em; line-height: 1.3em; padding-top: 0.625em; padding-bottom: 0.625em; margin-bottom: 0.625em;}
h5{font-size: .825em; line-height: 1.3em; padding-top: 0.625em; padding-bottom: 0.625em; margin-bottom: 0.625em;}
h6{font-size: .75em; line-height: 1.3em; padding-top: 0.625em; padding-bottom: 0.625em; margin-bottom: 0.625em;}

h1,h2,h3,h4,h5,h6{ clear: both;}


@media screen and (min-width: 768px){
	h1{font-size: 3.125em; line-height: 1.1em; padding-top: 0.625em; padding-bottom: 0.625em; margin-bottom: 0.625em;}

}
.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity .5s;
}
.overlay.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}
body{
	height: auto;
}

body.open {
  height: 100%;
  overflow: hidden;
}
main {
  height: 100%;
  min-height: 100vh;
  transition: all .5s;
	background-color: #fff;
}
.body-container{
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0;
}
.body-container > .to-plus-btn{
	position: fixed;
	top: 17em;
	right: 4.9%;
	width: 29%;
	z-index: 1000;
}
.body-container > .to-plus-btn img{
	border-radius: 1.18em;
	width: 100%;
	box-shadow: 0 .18em .37em rgba(0,0,0,0.16);
}
.body-container > .to-plus-btn a:hover{
	opacity: .7;
}
@media screen and (min-width: 768px){
	.body-container > .to-plus-btn{
		top: 13.8em;
		right: 1em;
		width: 20.43%;
	}
}
@media screen and (min-width: 960px){
	.body-container > .to-plus-btn{
		top: 14.66em;
		right: 50%;
		transform: translateX(308%);
		width: 9.5em;
	}
}

/*
main.open {
  transform: translateX(-76.7vw);
}
*/
/*   ボタンタグ設定   */
.menu-trigger{
	display: block;
	background: none;
	border: none;
	padding: 0;
	width: 4.5em;
	height: 4.5em;
	color: #1A1A1A;
	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: 2em;
	font-weight:900;
	top: 50%;left: 50%;
	position: fixed;
	transform: translate(-50% , -50%);
}
/*  メニューアクティブ時  */
/*
.menu-trigger.active{
  transform: translateX(-76.7vw);
}
*/
.menu-trigger.active::after {
	content:'\f00d';
	transition: all .5s;
}

nav.drawer-innner{
  width: 76.7vw;
  height: 100%;
	box-sizing: border-box;
	padding: 4.5em 2.5em 2.5em;
  background-color: #FFFFFF;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  transform: translate(100%);
  transition: all .5s;
}
nav.drawer-innner.open {
  transform: translateZ(0);
	z-index: 1000;
}
nav.drawer-innner ul.category-menu{
	list-style-type: none;
	text-align: right;
	font-family: 'Roboto', sans-serif;
	font-size: 1.5em;
	line-height: 1;
	padding: 0;
	margin: 0;
	margin-right: -.7em;
}
nav.drawer-innner ul.category-menu a{
	box-sizing: border-box;
	display: block;
	color: #302D2C;
	padding: 0.7em 0.5em;
	text-decoration: none;
}
nav.drawer-innner ul.category-menu a:hover{
	color: #645E5D;
}
nav.drawer-innner ul.category-menu > li{
	margin-bottom: .5em;
}
nav.drawer-innner ul.category-menu ul{
	font-size: .75em;
	list-style-type: none;
	padding-left: 0;
}
nav.drawer-innner ul.category-menu ul a{
	text-decoration: underline;
}
nav.drawer-innner ul.category-menu ul a:hover{
	color: #D2D2D2;
}
.search{
	margin: 1em auto;
}
.search form{
	width: 100%;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: flex-end;
	-ms-align-items: center;
	align-items: center;
	background-color: #fff;
	border-bottom: 0.08em solid #707070;
	box-sizing: border-box;
	padding: .1em .3em;
	margin: .5em 0;
}
.search form input[type="text"]{
	padding: .5em .1em;
	height: 1.3em;
	width: calc(100% - 2em);
	border-style: none;
	font-size: 1em;
	background-color: #fff;
	color: #302d2c;
}
.search form input[type="text"]:-internal-autofill-selected{
	background-color: #fff;
}
.search form input[type="text"]::placeholder{
	color: #959595;
	font-size: 1em;
}
.search form input[type="submit"]{
	border-style: none;
	height: 2em;
	width: 2em;
	text-align: left;
	font-size: 1em;
	color: #302D2C;
	font-weight: bold;
	background-color: #fff;
	cursor: pointer;
	z-index: 0;
	background-image: url("img/magnifying-glass.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 90%;
}
nav.drawer-innner .tag-list h2{
	font-family: 'Roboto', sans-serif;
	font-size: 1.7em;
	font-weight: 700;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
}
nav.drawer-innner .tag-list{
	padding-left: 0;
	padding-right: 0;
	background-color: transparent;
	margin-bottom: 1em;
}
nav.drawer-innner .tag-list ul.tags{
	padding: 0;
	list-style-type: none;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
nav.drawer-innner .tag-list ul.tags li{
	margin-right: .4em;
	margin-left: .4em;
	line-height: 1.6;
}
nav.drawer-innner .tag-list ul.tags li a{
	box-sizing: border-box;
	display: inline-block;
	color: #302d2c;
	padding: .5em .2em;
	font-size: .94em;
}
nav.drawer-innner .tag-list ul.tags li a:hover{
	color: #645E5D;
}
.sns-list p.tac{
	margin-top: 3em;
	font-size: .78em;
	position: relative;
}
.sns-list p.tac::before{
	position: absolute;
	content: '';
	height: 2em;
	width: .06em;
	background-color: #302d2c;
	top: 50%;
	left: 50%;
	transform: translateX(-4em) translateY(-50%) rotate(-45deg);
}
.sns-list p.tac::after{
	position: absolute;
	content: '';
	height: 2em;
	width: .06em;
	background-color: #302d2c;
	top: 50%;
	right: 50%;
	transform: translateX(4em) translateY(-50%) rotate(45deg);
}

.sns-list ul{
	padding: 0;
	list-style-type: none;
	width: 11em;
	margin: 1em auto 2em;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
}
nav.drawer-innner .sns-list ul{
	margin: 1em auto;
}
.sns-list ul a img{
	width: 2.5em;
	height: auto;
}
.sns-list ul a:hover img{
	opacity: .7;
}

.to-corp{
	width: 11em;
	margin: auto;
	padding: 1em auto 2em;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: center;
}
.to-corp a{
	text-align: center;
}
.to-corp a img{
	text-align: center;
	width: 9.5em;
}

@media screen and (min-width: 768px){
	/*
	main.open {
		transform: translateX(-50vw);
	}
	:?
	/*   ボタンタグ設定   */
	/*  メニューアクティブ時  */
	/*
	.menu-trigger.active{
		transform: translateX(-50vw);
	}
	*/
	nav.drawer-innner{
		width: 44.49vw;
		padding-top: 3em;
	}
	nav.drawer-innner ul.category-menu,
	nav.drawer-innner .tag-list ul.tags li{
		line-height: 1.8;
	}
	nav.drawer-innner ul.category-menu > li{
		margin-bottom: 0;
	}
	nav.drawer-innner .tag-list{
		margin-bottom: 2em;
	}
	nav.drawer-innner .sns-list ul{
		margin: 1em auto 2em;
	}
}

@media screen and (min-width: 1024px){
	.body-container{
		width: 1024px;
		margin-left: auto;
		margin-right: auto;
	}

}

/* - header */
header{
	width: 100%;
	height: 4.5em;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	position: fixed;
	z-index: 998;
	top: 0;
	background-color: #fff;
}
header a{
	text-decoration: none;
	color: #302d2c;
}
header a:hover{
	color: #645E5D;
}
.vacant{
	width: 100%;
	height: 4.5em;
	margin-top: 0;
}
.link-container{
	padding-top: 8em;
	margin-top: -8em;
	z-index: 0;
}
.header-logo{
	width: 6.25em;
	height: 4.5em;
	box-sizing: border-box;
	margin: auto;
}
.header-logo a{
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
}
.header-logo a img{
	width: 100%;
	height: auto;
	box-sizing: border-box;
}
.header-logo a:hover img{
	opacity: .7;
}
ul.global-nav,header .sns-list{
	display: none;
}
/* - header MEDIA SCREEN */
@media screen and (min-width: 768px){
	header{
		height: 4.5em;
	}
	.vacant{
		height: 4.5em;
	}
	.link-container{
		padding-top: 5em;
		margin-top: -5em;
	}
}
@media screen and (min-width: 960px){
	.wrap{
		padding-right: 2.5em;
		padding-left: 2.5em;
	}
	header{
		height: 6.3em;
	}
	header .wrap{
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		position: relative;
		padding-right: 0;
		padding-left: 0;
	}
	.header-logo{
		width: 4.5em;
		margin-left: 0;
		margin-right: 2em;
	}
	.vacant{
		height: 6.3em;
	}
	.link-container{
		padding-top: 6.8em;
		margin-top: -6.8em;
	}
	ul.global-nav{
		padding: 0;
		list-style-type: none;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: flex-start;
		-ms-align-items: center;
		align-items: center;
		margin-top: 0;
		margin-bottom: 0;
		height: 6.3em;
	}
	ul.global-nav li{
		height: 6.3em;
		margin-right: 1em;
		padding: 0;
		position: relative;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: flex-start;
		-ms-align-items: center;
		align-items: center;
	}
	ul.global-nav a{
		padding: .2em;
	}
	ul.global-nav ul{
		position: absolute;
		height: 0;
		left: 0;
		top: 6.3em;
		overflow: hidden;
		list-style-type: none;
		transition: .5s;
		padding: 0;
		margin:0;
		width: 15em;
	}
	ul.global-nav li:hover > ul {
		overflow: visible;
	}
	ul.global-nav ul li{
		margin: 0;
		background-color: rgba(255,255,255,0.90);
		border-top: 1px solid #999;
		font-size: 1em;
		height: 3em;
	}
	ul.global-nav ul li a{
		padding: .5em 1em;
		display: inline-block;
		color: #828282;
		text-shadow: none;
	}
	ul.global-nav ul li a:hover{
		color: #DCDDDD;
	}
	header .sns-list {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
	}
	header .sns-list ul{
		display: block;
		width: 2.5em;
		margin: 2.5em auto 0;
	}
	header .sns-list ul li{
		margin-bottom: .5em;
	}
}

/* - footer */
footer {
	margin-top: 3em;
	background-color: #727272;
	width: 100%;
	padding: 1em 0;
}
footer .to-corp{
	width: 5.4em;
	padding: 1em 0;
	display: block;
	margin-left: 0;
}
footer .to-corp a{
	text-align: center;
}
footer .to-corp a img{
	width: 100%;
}
footer .sns-list ul{
	display: block;
	margin: 1em 0 3em;
}
footer ul{
	list-style-type: none;
	padding-left: 0;
	font-size: .8em;
}
footer ul li{
	margin-bottom: .5em;
	color: #fff;
}
footer ul li a{
	color: #fff;
}
footer ul li a:hover{
	color: #E5E5E5;
}

@media screen and (min-width: 1024px){
	footer {
		margin-top: 3em;
		background-color: #727272;
		width: 100%;
		padding: 1em 0;
		position: relative;
	}
	footer::before{
		position: absolute;
		display: block;
		content:'';
		background-color: #727272;
		width: 50vw;
		height: 100%;
		top: 0;
		left: -50vw;
	}
	footer::after{
		position: absolute;
		display: block;
		content:'';
		background-color: #727272;
		width: 50vw;
		height: 100%;
		top: 0;
		right: -50vw;
	}
}

/* - SCROLL TOP */
.scrollTop {
	position: fixed;
	right: 1em;
	bottom:  1em;
	opacity: 0;
	z-index: 10000;
	transition: all 0.4s ease-in-out 0s;
}
.scrollTop a {
	box-sizing: border-box;
	border: .12em solid #707070;
	background-color: #707070;
	color: #FFFFFF;
	width: 2.5em;
	height: 2.5em;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	border-radius: 1.5em;
	text-decoration: none;
}
.scrollTop a i{font-size: 1.5em;}
.scrollTop a:hover{
	color: #707070;
	background-color: #E5E5E5;
}

/* - OTHER SETTING */
div.frame_map{
	position: relative;
	padding-bottom: 100%;
	height: 0;
	overflow: hidden;
	z-index:0;
	margin-bottom: 1em;
}
div.frame_full{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	z-index:0;
	margin-bottom: 1em;
}
div.frame_map iframe,
div.frame_map video,
div.frame_full iframe,
div.frame_full video{
	border:none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index:0;
}
@media screen and (min-width: 960px){
	div.frame_map{
		padding-bottom: 56.25%;
	}
}

.more-link{
	margin-top: 2em;
	margin-bottom: 2em;
}
.more-link a{
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .12em;
	display: inline-block;
	border-bottom: .12em solid #000;
	text-decoration: none;
	color: #000;
	padding: .5em 3em .5em 0;
	box-sizing: border-box;
	position: relative;
}
.more-link a::after{
	position: absolute;
	display: block;
	content:'';
	width: .12em;
	height: 1.5em;
	background-color: #000000;
	bottom: -.35em;
	right: .55em;
	transform: rotate(-50deg);
}
.more-link a:hover{
	color: #b3b3b3;
	border-bottom: .12em solid #b3b3b3;
}
.more-link a:hover::after{
	background-color: #b3b3b3;
}
.more-link.pointer-none a{
	color: #b3b3b3;
	pointer-events: none;
	border-bottom: .12em solid #b3b3b3;
}
.more-link.pointer-none a::after{
	background-color: #b3b3b3;
}

.link-btn a{
	font-size: 1.2em;
	margin: 3em auto;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	letter-spacing: .12em;
	display: inline-block;
	border: .125em solid #1A1A1A;
	background-color: #1A1A1A;
	color: #FFFFFF;
	border-radius: .2em;
	padding: 1.2em 4em;
}
.link-btn a:hover{
	color: #1A1A1A;
	background-color: #FFFFFF;
}

.link-back{
	margin-top: 3em;
	text-align: right;
}
.link-back a{
	font-weight: bold;
	letter-spacing: .12em;
	display: inline-block;
	border: .12em solid #1a1a1a;
	text-decoration: none;
	background-color: #fff;
	color: #1a1a1a;
	padding: .8em 2.5em;
}
.link-back a:hover{
	color: #fff;
	background-color: #1a1a1a;
}

/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* TOP PAGE */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
.title-bb100{
	border-bottom: .06em solid #000;
	margin-top: 5em;
	margin-bottom: 2em;
}
.title-bb100 h3{
	padding: 0;
	margin: .3em 0;
	margin-right: 1em;
	line-height: 1;
}

.top-hero{
	font-family: 'Town 10 Display';
}
.top-hero h1{
	padding: .5em 0;
	margin: 0;
	line-height: 1.3;
}
.top-hero .video-area{
	width: 100%;
	position: relative;
	padding-top: 118.8%;
	overflow: hidden;
}
.top-hero .video-area video{
	position: absolute;
	height: 101%;
	width: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

.top-mission .text{
	padding-bottom: 3em;
}
.top-mission h1{
	border-bottom: .05em solid #000;
}

.mission-link{
	position: relative;
	width: 18.75em;
	height: 18.75em;
	margin: auto;
}
.mission-link a{
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-50% -50%);
	text-decoration: none;
	box-sizing: border-box;
	z-index: 2;
}
.mission-link a .text{
	display: block;
	text-align: center;
	width: 10em;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .12em;
	color: #000;
	padding: 0;

}
.mission-link a:hover{
	background-color: #eee;
}
.mission-link a:hover .text{
 color: #b3b3b3;
}
.blink {
  animation: blinkAnime 1s infinite alternate;
}
@keyframes blinkAnime{
   0% { opacity: 1; }
 100% { opacity: 0; }
}
.circle-text {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 18.75em;
	height: 18.75em;
}
.circle-text svg {
	overflow: visible;
	animation: rotateAnim 20s linear infinite;	}
.circle-text path {
	fill: none;
}
.circle-text text {
	font-size: .4em;
	letter-spacing: .57em;
}
@keyframes rotateAnim {
  0% { transform: rotate(0deg); }
  50%{ transform: rotate(-180deg); }
  100% { transform: rotate(-360deg); }
}
@media screen and (min-width: 768px){
	.top-hero .video-area{
		padding-top:66.8%;
	}
	.top-mission .text,
	.top-mission .circle-text{
		width: 50%;
	}
	.mission-link{
		width: 16em;
		height: 16em;
		margin: auto 0;
	}
	.mission-link .circle-text{
		width: 16em;
		height: 16em;
	}
	.mission-link .circle-text text {
		font-size: .55em;
		letter-spacing: .2em;
	 }
}
@media screen and (min-width: 960px){
	.top-hero .wrap{
		padding-right: 0;
		padding-left: 0;
	}
	.top-hero .video-area{
		padding-top: 49.9%;
	}
	.top-hero .video-area video{
		width: 101%;
		height: auto;
	}
	.top-mission .text{
		width: 47%;
	}
	.mission-link,
	.mission-link .circle-text{
		width: 18.75em;
		height: 18.75em;
	}
	.mission-link .circle-text text {
		font-size: .45em;
		letter-spacing: .35em;
	 }
}
@media screen and (min-width: 1024px){
	.mission-link .circle-text text {
		font-size: .4em;
		letter-spacing: .45em;
	 }

}

.top-news {
	padding-bottom: 5em;
}
.top-news .news-nav-inner,
.top-news .news-nav-inner ul{
	display: flex;
	align-items: center;
}
.top-news .news-nav-inner ul{
	padding-left: 0;
	list-style-type: none;
	line-height: 1;
	font-size: .875em;
	margin: 0;
}
.top-news .news-nav-inner ul li{
	margin-left: 1em;
	padding-left: 1.5em;
}
.top-news .news-nav-inner ul li a{
	text-decoration: none;
	position: relative;
	color: #000;
}
.top-news .news-nav-inner ul li a::before{
	position: absolute;
	content:'';
	background-color: #000000;
	width: 1em;
	height: 1em;
	left: -1.5em;
	top: 50%;
	transform: translateY(-50%);
}
.top-news .news-nav-inner ul li a:hover{
	color: #D3D3D3;
}
.top-news .news-nav-inner ul li a:hover::before{
	background-color: #d3d3d3;
}
.top-news-list .list-item{
	font-size: .875em;
	margin-bottom: 1.78em;
}
.top-news-list .list-item .article-info .cat{
	display: inline-block;
	font-size: .857em;
	width: 10em;
	text-align: center;
	background-color: #000;
	color: #fff;
	margin-left: 2em;
}
.top-news-list .list-item .permalink,
.top-news-list .list-item .permalink a{
	color: #000;
}
.top-news-list .list-item .permalink{
	padding-left: 1em;
}
.top-news-list .list-item .permalink a:hover{
	color: #d3d3d3;
}
@media screen and (min-width: 768px){
	.top-news-list .list-item{
		display: flex;
	}
	.top-news-list .list-item .article-info{
		width: 18em;
	}
	.top-news-list .list-item .permalink{
		width: calc(100% - 18em);
		padding-left: 0;
	}
}

.top-topics .wrap{
	padding-top: 1.5em;
	padding-bottom: 3em;
}
.top-topics .topics-list .topics-item{
	margin-bottom: 3em;
}
.top-topics .topics-list .topics-item a{
	color: #000;
	text-decoration: none;
	transition:0.3s;
}
.top-topics .topics-list .topics-item .image{
	position: relative;
	width: 100%;
	padding-top: 58.8%;
	overflow: hidden;
	margin-bottom: 2em;
}
.top-topics .topics-list .topics-item .image img{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 101%;
	transform: translate(-50% , -50%);
	transition:0.3s;
}
.top-topics .topics-list .topics-item h3{
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
	font-size: 1em;
}
.top-topics .topics-list .topics-item p{
	line-height: 2;
	font-size: 1em;
	text-align: justify;
}
.top-topics .topics-list .topics-item a:hover{
	color: #d3d3d3;
}
.top-topics .topics-list .topics-item a:hover .image img{
	width: 110%;
	opacity: .8;
}
@media screen and (min-width: 768px){
	.top-topics .topics-list{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.top-topics .topics-list .topics-item{
		width: 21.78%;
	}
	.top-topics .topics-list .topics-item h3{
		font-size: 1em;
	}
	.top-topics .topics-list .topics-item p{
		font-size: 0.75em;
	}
	.top-topics .topics-list .topics-item:first-child{
		width: 100%;
	}
	.top-topics .topics-list .topics-item:first-child a{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		-ms-align-items: flex-start;
		align-items: flex-start;
	}
	.top-topics .topics-list .topics-item:first-child .image{
		width: 76.1%;
		padding-top: 44.79%;
	}
	.top-topics .topics-list .topics-item:first-child .text{
		width: 21.38%;
	}

}
@media screen and (min-width: 960px){
	.top-topics .topics-list .topics-item h3{
		font-size: 1.5em;
	}
	.top-topics .topics-list .topics-item p{
		font-size: 1em;
	}
}

.top-sub-company > .wrap{
	padding-top: 1.5em;
	padding-bottom: 3em;
}
.top-business-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top-business-list .list-item{
	width: 46%;
	margin-bottom: 2em;
}
.top-business-list .list-item a{
	display: block;
	width: 100%;
	color: #000;
	text-decoration: none;
	transition:0.3s;
}
.top-business-list .list-item .image{
	position: relative;
	width: 100%;
	padding-top: 64.24%;
	overflow: hidden;
	box-shadow: 0 .24em .36em rgb(0 0 0 / 0.16);
	background-color: #fff;
	transition:0.3s;
}
.top-business-list .list-item .image img{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50% , -50%);
	transition:0.3s;
}
.top-business-list .list-item p{
	text-align: center;
	font-size: .75em;
}
.top-business-list .list-item a:hover{
	color: #D0D0D0;
}
.top-business-list .list-item a:hover .image{
	box-shadow: 0 .48em .36em rgb(0 0 0 / 0.16);
	background-color: #fff;
}
@media screen and (min-width: 768px){

	.top-business-list{
		display: block;
		margin-left: -2.5%;
		margin-right: -2.5%;
	}
	.top-business-list:after{content: ".";display: block;visibility: hidden;height: 0;font-size: 0;clear: both;}
	.top-business-list .list-item{
		width: 21%;
		float: left;
		margin-left: 2%;
		margin-right: 2%;
	}

}

.top-startup .wrap{
	padding-top: 1.5em;
	padding-bottom: 1em;
}
.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;}
}

.title-speech-bubble{
	font-weight: bold;
	font-size: 1.5em;
	width: 7.83em;
	text-align: center;
	background: #fff;
	border: .15em solid #000;
	border-right-width: .22em;
	border-bottom-width: .22em;
	position: relative;
	margin-top: -2.2em;
	margin-bottom: 3em;
}
.title-speech-bubble::before{
	position: absolute;
	box-sizing: border-box;
	width: 0;
	height: 0;
	content:'';
	border-bottom: .7em solid transparent;
	border-left: .6em solid transparent;
	border-top: .7em solid #000;
	border-right: .6em solid #000;
	right: 1em;
	bottom: -1.56em;
}
.title-speech-bubble::after{
	position: absolute;
	box-sizing: border-box;
	width: 0;
	height: 0;
	content:'';
	border-bottom: .6em solid transparent;
	border-left: .5em solid transparent;
	border-top: .6em solid #fff;
	border-right: .5em solid #fff;
	right: 1.2em;
	bottom: -1em;
}

/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* CHILD PAGE */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
.child-hero{
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 63.72%;
	background-color: #a3a3a3;
}
.child-hero .bg-image{
	position: absolute;
	height: 100%;
	width: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}
.child-hero h1{
	font-family: 'Town 10 Display';
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	color: #fff;
}
.child-hero h1::after{
	display: block;
	font-family: 'Noto Sans JP', sans-serif, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal;
	line-height: 1.1;
	padding-top: 1em;
	content: attr(date-jptitle);
	font-size: .44em;
	bottom: 0em;
}
.child-hero .to-plus-btn{
	position: absolute;
	bottom: .75em;
	right: 4.9%;
	width: 29%;

}
.child-hero .to-plus-btn img{
	border-radius: 1.18em;
	width: 100%;
	box-shadow: 0 .18em .37em rgba(0,0,0,0.16);
}
.child-hero .to-plus-btn a:hover{
	opacity: .7;
}
@media screen and (min-width: 768px){
	.child-hero{
		padding-top: 26.75%;
	}
	.child-hero .bg-image{
		width: 100%;
		height: auto;
	}
	.child-hero .to-plus-btn{
		bottom: -3.68em;
		right: 1em;
		width: 20.43%;
	}
}
@media screen and (min-width: 960px){
	.child-hero .to-plus-btn{
		bottom: 1.75em;
		right: 2.9em;
		width: 14.84%;
	}
}

.read-more-list{
	display: flex;
	flex-wrap: wrap;
	margin-left: -2%;
	margin-right: -2%;
}
.read-more-list .list-item{
	width: 46%;
	margin-left: 2%;
	margin-right: 2%;
	margin-bottom: 2em;
}
.read-more-list .list-item a{
	display: block;
	width: 100%;
	color: #000;
	text-decoration: none;
	transition:0.3s;
}
.read-more-list .list-item .image{
	position: relative;
	width: 100%;
	padding-top: 59.6%;
	overflow: hidden;
	background-color: #fff;
	transition:0.3s;
}
.read-more-list .list-item .image img{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 101%;
	transform: translate(-50% , -50%);
	transition:0.3s;
}
.read-more-list .list-item h3{
	margin-top: 0;
	font-weight: normal;
	font-size: .875em;
}
.read-more-list .list-item a:hover{
	color: #D0D0D0;
}
.read-more-list .list-item a:hover .image img{
	width: 110%;
}
@media screen and (min-width: 768px){
	.read-more-list{
		margin-left: -1.2%;
		margin-right: -1.2%;
	}
	.read-more-list .list-item{
		width: 22.6%;
		margin-left: 1.2%;
		margin-right: 1.2%;
		margin-bottom: 1em;
	}
	.read-more-list .list-item .image img{
		width: 102%;
	}

}
@media screen and (min-width: 960px){
	.read-more-list .list-item h3{
		font-size: 1em;
	}
}

.more-info-cta{
	margin-top: 4em;
	margin-bottom: 4em;
	padding-top: .1em;
	box-shadow: 0 .24em 1.3em rgb(0 0 0 / 0.16);
}
.more-info-cta h2{
	font-size: 1.5em;
	text-align: center;
	font-weight: normal;
}
.more-info-list .list-item{
	width: 100%;
	margin-bottom: 2em;
}
.more-info-list .list-item a{
	display: block;
	width: 100%;
	color: #000;
	text-decoration: none;
	transition:0.3s;
}
.more-info-list .list-item .image{
	position: relative;
	width: 100%;
	padding-top: 50%;
	overflow: hidden;
	background-color: rgba(0,0,0,0.005);
	transition:0.3s;
}
.more-info-list .list-item .image img{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 101%;
	transform: translate(-50% , -50%);
	transition:0.3s;
}
.more-info-list .list-item h3{
	margin-top: 0;
	font-size: 1.3em;
	text-align: center;
	font-weight: normal;
}
.more-info-list .list-item a:hover{
	color: #D0D0D0;
}
.more-info-list .list-item a:hover .image img{
	width: 110%;
}
@media screen and (min-width: 768px){
	.more-info-cta h2{
		font-size: 1.06em;
	}
	.more-info-list{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
	}
	.more-info-list .list-item{
		width: 40%;
		margin-bottom: 2em;
	}
	.more-info-list .list-item h3{
		font-size: .875em;
	}


}
@media screen and (min-width: 960px){
	.more-info-cta h2{
		font-size: 1.5em;
	}
	.more-info-list .list-item h3{
		font-size: 1em;
	}

}

.learn-more-link a{
	position: relative;
	display: inline-block;
	margin-left: 1.5em;
	color: #000;
	text-decoration: none;
}
.learn-more-link a:before{
	position: absolute;
	font-family: 'Font Awesome 6 Free';
	font-weight: bold;
	content: '\f054';
	display: inline;
	top: 50%;
	left: -1.5em;
	transform: translateY(-50%);
}
.learn-more-link a:hover{
	color: #5A5A5A;
}
.learn-more-link.pointer-none a{
	pointer-events: none;
	color: #7C7C7C;
}
/* about */
.mission-theme h1{
	font-family: 'Town 10 Display';
	font-size: 2.6em;
	line-height: 1.3;
	margin-bottom: 0;
	padding-bottom: 0;
}
.mission-theme h2{
	margin-top: 0;
	font-weight: normal;

}

.about-content{
	margin-top: 2em;
	margin-bottom: 5em;
}
.about-content h2{
	font-size: 1.5em;
	text-align: center;
	padding-bottom: 0;
}
.about-content .sub-title{
	text-align: center;
}
.about-content img{
	margin-top: 3em;
	margin-bottom: 3em;
}
.about-content dl{
	text-align: center;
	margin-bottom: 3.5em;
}
.about-content dl dt{
	font-weight: bold;
	margin-bottom: .5em;
	letter-spacing: .05em;
}
.about-content dl dd{
	margin-left: 0;
}
@media screen and (min-width: 768px){
	.mission-theme h1{
		font-size: 2.2em;
		text-align: center;
	}
	.mission-theme h2{
		font-size: 1.25em;
		text-align: center;
	}
	.about-content h2{
		font-size: 3em;
	}
	.about-content .sub-title{
		font-size: 1.5em;
	}
	.about-content dl dt{
		font-size: 1.5em;
	}
	.about-content dl dd{
		font-size: 1em;
	}
}
@media screen and (min-width: 960px){
	.mission-theme h1{
		font-size: 3.125em;
	}
	.mission-theme h2{
		font-size: 1.75em;
	}
	.about-content img{
		margin-top: 5em;
		margin-bottom: 5em;
	}
	.about-content dl dt{
		font-size: 1.5em;
	}
	.about-content dl dd{
		font-size: 1em;
	}

}

/* company */
table.company-overview{
	border-collapse: collapse;
	font-size: 1em;
	margin-bottom: 3em;
}
table.company-overview th,
table.company-overview td{
	border-bottom: .06em solid #919191;
	height: 7em;
	box-sizing: border-box;
	padding-top: 1em;
	padding-bottom: 1em;
	text-align: left;
	font-weight: normal;
}
table.company-overview tr:first-child th,
table.company-overview tr:first-child td{
	border-top: .06em solid #919191;
}
@media screen and (min-width: 768px){
	table.company-overview th{
		width: 13.8em;
	}
}
@media screen and (min-width: 960px){
	table.company-overview th{
		width: 14.6em;
	}
}
.access-base .map{
	position: relative;
	width: 100%;
	padding-bottom: 95.34%;
	padding-top: 1.8em;
	height: 0;
	overflow: hidden;
	z-index:0;
	margin-top: 1em;
	margin-bottom: 1em;
}
.access-base .map iframe{
	border:none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index:0;
}
@media screen and (min-width: 768px){
	.access-base{
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.access-base .text{
		width: 48.4%;
	}
	.access-base .map{
		width: 48%;
		padding-bottom: 45.76%;
	}
}
@media screen and (min-width: 960px){
	.access-base .text{
		width: 44.16%;
	}
	.access-base .map{
		width: 50.89%;
		padding-bottom: 27%;
	}
}
ul.organizations-list{
	list-style-type: none;
	padding-left: 0;
}
ul.organizations-list li{
	margin-bottom: .75em;
}
@media screen and (min-width: 960px){
	ul.organizations-list{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	ul.organizations-list li{
		width: 50%;
	}
}
.history dl{
	border-bottom: 0.06em solid #ccc;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: .5em;
	padding-bottom: .5em;
}
.history dl:first-child{
	border-top: 0.06em solid #ccc;
}
.history dl dd{
	margin-left: 0;
}
@media screen and (min-width: 768px){
	.history dl{
		display: flex;
		padding-top: .9em;
		padding-bottom: .9em;
	}
	.history dl dt{
		width: 7.68em;
	}
}
@media screen and (min-width: 960px){
	.history dl dt{
		width: 8.75em;
	}
}
.sdgs-images figure{
	width: 68%;
	margin: 2em auto;
}
.sdgs-images figure .image{
	width: 100%;
	padding-top: 49.73%;
	position: relative;
	background-color: #ccc;
	overflow: hidden;
}
.sdgs-images figure .image img{
	width: 101%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}
.sdgs-images figure figcaption{
	text-align: center;
}
@media screen and (min-width: 768px){
	.sdgs-images{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.sdgs-images figure{
		width: 30%;
		margin: 2em 0;
	}
}
.certification-card{
	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 screen and (min-width: 960px){
	.certification-card{
		display: flex;
		margin-bottom: 5em;
	}
	.certification-card .text{
		width: calc(100% - 13em);
		padding-left: 4em;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.certification-card .text > dl{
		margin-top: 0;
	}
}

/* business */
.business-card{
	width: 100%;
	margin-bottom: 3em;
}
.business-card a{
	text-decoration: none;
	display: inline-block;
	width: 100%;
	height: 100%;
}
.business-card .business-name{
	display: flex;
	align-items: center;
	margin-bottom: 1em;
}
.business-card .business-name .logo-base{
	width: 3.43em;
	height: 3.43em;
}
.business-card .business-name .logo-base img{
	width: 100%;
}
.business-card .business-name dl{
	padding-left: .5em;
	margin-top: 0;
	margin-bottom: 0;
}
.business-card .business-name dl dt{
	font-weight: bold;
	color: #000;
	font-size: 1.5em;
	line-height: 1.5;
}
.business-card .business-name dl dd{
	margin-left: 0;
	font-size: .75em;
	color: #7C7C7C;
	line-height: 1.1;
}
.business-card .image{
	width: 100%;
	overflow: hidden;
  position: relative;
}
.business-card .image:after{
  display: block;
  padding-top: 61.97%;
  content: '';
}
.business-card .image img{
	position: absolute;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  max-width: 101%;
  max-height: 101%;
  transform: translate(-50%, -50%);
}
.business-card .text{
	color: #000;
}
.business-card a:hover{
	opacity: .7;
}
@media screen and (min-width: 768px){
	.business-lists{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	.business-card{
		width: 45.7%;
	}
	.business-card .business-name .logo-base{
		width: 2.5em;
		height: 2.5em;
	}
	.business-card .business-name dl{
		padding-left: .75em;
	}
	.business-card .business-name dl dt{
		font-size: 1em;

	}
}
@media screen and (min-width: 960px){
	.business-card{
		width: 45.7%;
	}
	.business-card .business-name .logo-base{
		width: 3.43em;
		height: 3.43em;
	}
	.business-card .business-name dl dt{
		font-size: 1.5em;
	}
}

/* open innovation */
.innovation-item {
	text-align: center;
}
.innovation-item .title h2{
	font-weight: normal;
	margin-top: 0;
	padding-top: 0;
}
.innovation-item .image{
	width: 100%;
	overflow: hidden;
  position: relative;
}
.innovation-item .image:after{
  display: block;
  padding-top: 41.7%;
  content: '';
}
.innovation-item .image img{
	position: absolute;
  width: auto;
  height: 101%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.innovation-item .text p{
	line-height: 1.8;
}
.innovation-item .learn-more-link{
	margin-top: 2em;
	margin-bottom: 2em;
}
@media screen and (min-width: 768px){
	.innovation-item .image:after{
		padding-top: 35.59%;
	}
	.innovation-item .learn-more-link{
		margin-top: 0;
		margin-bottom: 0;
	}
}
@media screen and (min-width: 960px){
	.innovation-item .image:after{
		padding-top: 41.93%;
	}
	.innovation-item .learn-more-link{
		margin-top: 3em;
		margin-bottom: 2em;
	}
}

/* products */
.products-item .title{
	text-align: center;
}
.products-item .title h2{
	font-weight: normal;
	margin-top: 0;
	padding-top: 0;
}
.products-item .image{
	width: 78.75%;
	margin: auto;
	overflow: hidden;
  position: relative;
}
.products-item .image:after{
  display: block;
  padding-top: 52.96%;
  content: '';
}
.products-item .image img{
	position: absolute;
  width: auto;
  height: 101%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.products-item .text p{
	line-height: 1.8;
}
.products-item .learn-more-link{
	text-align: center;
	margin-top: 2em;
	margin-bottom: 2em;
}
@media screen and (min-width: 768px){
	.products-item .image{ width: 78.89%;}
	.products-item .learn-more-link{
		margin-top: 0;
		margin-bottom: 0;
	}
	.products-item .text{
		text-align: center;
	}
	.products-item .text p{
		line-height: 1.875;
	}
}
@media screen and (min-width: 960px){
	.products-item .image{ width: 78.92%;}
	.products-item .learn-more-link{
		margin-top: 3em;
		margin-bottom: 2em;
	}
}


/* pr-magazine */
h2.pr-title{
	text-align: center;
	font-size: 2.6em;
	margin-bottom: 0;
	padding-bottom: 0;
}
p.pr-discription{
	text-align: center;
}
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: #111;
	border-radius: 1.5em;
}
ul.pr-year-list li a:hover{
	background-color: #5A5A5A;
}
.magazine-list{
	display: flex;
	flex-wrap: wrap;
	margin-left: -2%;
	margin-right: -2%;
	padding-top: 2em;
	padding-bottom: 2em;
}
.magazine-list .download-box{
	width: 46%;
	margin: 1em 2%;
}
.magazine-list .download-box a{
	display: block;
	width: 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 screen and (min-width: 768px){
	h2.pr-title{font-size: 2.375em;}
	p.pr-discription{font-size: 1.125em;}
	.magazine-list .download-box a{
		padding: 1em .5em;
	}
	.magazine-list .download-box img{
		width: 14em;
	}
}
@media screen and (min-width: 960px){
	h2.pr-title{font-size: 3.125em;}
	p.pr-discription{font-size: 1.5em;}
	.magazine-list{
		padding-top: 5em;
		padding-bottom: 5em;
	}
	.magazine-list .download-box{
		width: 29.3%;
		margin: 1em 2%;
	}
}

/* contact */


/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* CONTENT-SEARTCH */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
.search-list-item{
	padding-bottom: 1em;
	border-bottom: .06em solid #a1a1a1;
	margin-bottom: 2em;
}
.search-list-item a{
	display: block;
	text-decoration: none;
	padding: .3em;
}
.search-list-item a:hover{
	background-color: rgba(0,0,0,0.01);
}
.search-list-item h3.title{
	padding-top: 0;
	padding-bottom: 0;
	margin-top: .5em;
	margin-bottom: .5em;
	font-weight: normal;
	font-size: 1.375em;
	color: #111;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
.search-list-item p{
	padding-top: 0;
	padding-bottom: 0;
	font-size: .875em;
	color: #666;
	line-height: 2;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	text-decoration: none;
}


/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* CONTENT-POST */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* ARCHIVE */
.article-list-item{
	margin-bottom: 2em;
}
.article-list-item .image{
	width: 75.9%;
	margin: 0 auto 1em;
	overflow: hidden;
  position: relative;
	background-color: rgba(0,0,0,0.005);
}
.article-list-item .image:after{
  display: block;
  padding-top: 69.6%;
  content: '';
}
.article-list-item .image img{
	position: absolute;
  width: auto;
  height: auto;
	max-width: 100%;
	max-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.article-list-item h3.title{
	padding-top: 0;
	padding-bottom: 0;
	margin-bottom: 1.2em;
	font-weight: normal;
	font-size: 1.375em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
.article-list-item .text p{
	padding-top: 0;
	padding-bottom: 0;
	font-size: .875em;
	line-height: 2.14;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
@media screen and (min-width: 768px){
	.article-list-item{
		display: flex;
		justify-content: space-between;
		margin-bottom: 4em;
	}
	.article-list-item .image{
		width: 31.95%;
		margin: 0;
	}
	.article-list-item .text{
		width: 66.12%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.article-list-item h3.title{
		margin-top: 0;
		margin-bottom: .7em;
		font-size: 1.06em;
	}
	.article-list-item .text p{
		font-size: 1em;
		line-height: 1.875;
	}

}
@media screen and (min-width: 960px){
	.article-list-item{
		margin-bottom: 6em;
	}
	.article-list-item .image{
		width: 31.57%;
	}
	.article-list-item .text{
		width: 66.59%;
	}
	.article-list-item h3.title{
		margin-top: 0;
		margin-bottom: 1em;
		font-size: 1.5em;
	}

}

ul.category-list{
	padding-left: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2em;
	font-size: .75em;
}
ul.category-list li{
	margin: 0;
	padding: .2em;
	line-height: 1;
	width: 30%;
	box-sizing: border-box;
}
ul.category-list li a{
	display: inline-block;
	width: 100%;
	padding: .5em 1em;
	text-decoration: none;
	color: #fff;
	background-color: #111;
	box-sizing: border-box;
	border-radius: .2em;
	font-weight: bold;
	text-align: center;
}
ul.category-list li a:hover{
	background-color: #5A5A5A;
}

.article-wrap{
	color: #666;
}
.article-wrap ul.article-date{
	padding-left: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2em;
	font-size: .75em;
}
.article-wrap ul.article-date li{
	margin: 0;
	padding: .2em;
	line-height: 1;
	box-sizing: border-box;
}
.article-wrap ul.article-date li.category{
	padding: .5em 1em;
	border-radius: .2em;
	border: .06em solid #000;
}

h1.article-title{
	font-size: 1.5em;
	line-height: 1.5;
	text-align: center;
	font-weight: normal;
	margin-bottom: 0;
}
.eyecatch{
	width: 100%;
	margin: 1em auto 3em;
	overflow: hidden;
  position: relative;
	background-color: rgba(0,0,0,0.005);
}
.eyecatch:after{
  display: block;
  padding-top: 51.8%;
  content: '';
}
.eyecatch img{
	position: absolute;
  width: auto;
  height: auto;
	max-width: 100%;
	max-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px){
	.eyecatch{
		width: 67.77%;
	}
	.eyecatch:after{
		padding-top: 54.75%;
	}
}
@media screen and (min-width: 960px){
	.eyecatch{
		width: 68.82%;
	}
	.eyecatch:after{
		padding-top: 51.99%;
	}
}

.article-content{
	font-size: .875em;
}
.article-content h1{font-size: 1.42em; line-height: 1.3em;}
.article-content h2{font-size: 1.25em; line-height: 1.3em;}
.article-content h3{font-size: 1.125em; line-height: 1.3em;}
.article-content h4{font-size: 1em; line-height: 1.3em;}
.article-content h5{font-size: .825em; line-height: 1.3em;}
.article-content h6{font-size: .75em; line-height: 1.3em;}
.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;}
.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 screen and (min-width: 960px){
	.scroll-box {
		overflow-x: infinite;
		white-space: normal;
	}
}

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;

}

.spec dl{
	width: 100%;
	border-bottom: 0.06em solid #b4b4b4;
}
.spec dl dt{
	font-weight: bold;
	font-size: 1.01em;
}
.spec dl dd{
	margin-left: 0;
	margin-bottom: 1em;
}
@media screen and (min-width: 960px){
	.spec dl{
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
	}
	.spec dl dt{
		width: 10em;
	}
}
.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;
}

.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;
}

/* - 404 */

/* - - - - - - - - - - - - - - - - - - - - - - -*/
/*  */
/* - - - - - - - - - - - - - - - - - - - - - - -*/